
рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП, рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЗрдВрдЯреЗрд▓реАрдЬреЗ рдЖрдИрдбреАрдИрдП рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг, рдлреНрд░реА рд╕реНрдкреЙрдЯрдмрдЧреНрд╕, рдкреАрдПрдордбреА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдФрд░ рдЕрдиреНрдпред рдпрд╣ рд╕рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд╛рдП рдЧрдП рдХреЛрдб рджреЛрд╖реЛрдВ рдХреА рдЗрд╕ рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдк рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдФрд░ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
CUBA рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдПрдХ рдкреВрд░реНрдг рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдордВрдЪ рд╡рд┐рд╖рдо рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рд╕реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рд╡реНрдпрд╡рд╕рд╛рдп рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ, рд╕рд╛рде рд╣реА, рдЙрдирдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рд╕рдХреЗрдВред рд╕реНрд░реЛрдд рдХреЛрдб
GitHub рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реА, рд╕реА ++, рд╕реА # рдФрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рдкрд░ 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдорд╛рд╡реЗрди, рдЧреНрд░реИрдбрд▓ рдФрд░ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рд╣реИрдВред рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╢рд░реНрддреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдЪреЗрддрд╛рд╡рдиреА резV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ '
StringUtils.isNotEmpty ("handleTabKey") рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред SourceCodeEditorLoader.java (60)
@Override public void loadComponent() { .... String handleTabKey = element.attributeValue("handleTabKey"); if (StringUtils.isNotEmpty("handleTabKey")) { resultComponent.setHandleTabKey(Boolean.parseBoolean(handleTabKey)); } .... }
рдХрд┐рд╕реА рддрддреНрд╡ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рдорд╛рди рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдирд┐рд░рдВрддрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ
isNotEmpty рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХреА
рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЪрд░
рд╕рдВрднрд╛рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред
AbstractTableLoader.java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдФрд░ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╣реИ:
- V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'StringUtils.isNotEmpty ("рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп") рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред AbstractTableLoader.java (596)
рдЪреЗрддрд╛рд╡рдиреА реиV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдкрд┐рдЫрд▓реЗ
MenuItemFlatIndex > = 0' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕рд╛рдЗрдбрдореЗрдиреНрдпреВрд╡рд┐рдЬреЗрдЯ.рдЬрд╛рд╡рд╛ (328)
protected MenuItemWidget findNextMenuItem(MenuItemWidget currentItem) { List<MenuTreeNode> menuTree = buildVisibleTree(this); List<MenuItemWidget> menuItemWidgets = menuTreeToList(menuTree); int menuItemFlatIndex = menuItemWidgets.indexOf(currentItem); int previousMenuItemFlatIndex = menuItemFlatIndex + 1; if (previousMenuItemFlatIndex >= 0) { return menuItemWidgets.get(previousMenuItemFlatIndex); } return null; }
рдпрджрд┐ рд╕реВрдЪреА рдореЗрдВ рдЖрдЗрдЯрдо рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ
indexOf рдлрд╝рдВрдХреНрд╢рди
-1 рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рдЧрд╛рдпрдм рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдпрд╣ рддрдереНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЪрд░
рдкрд┐рдЫрд▓реЗ MenuItemFlatIndex рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
menuItemWidgets рд╕реВрдЪреА рд░рд┐рдХреНрдд рд╣реИ, рддреЛ рдпрд╣ рд╕рд░рдгреА рдХреА рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА рейV6009 'рдбрд┐рд▓реАрдЯ' рдлрд╝рдВрдХреНрд╢рди '-1' рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдирд┐рд░реАрдХреНрд╖рдг рддрд░реНрдХ: 1. AbstractCollectionDatasource.java (556)
protected DataLoadContextQuery createDataQuery(....) { .... StringBuilder orderBy = new StringBuilder(); .... if (orderBy.length() > 0) { orderBy.delete(orderBy.length() - 2, orderBy.length()); orderBy.insert(0, " order by "); } .... }
рд╡рд░реНрдг рдмрдлрд╝рд░
рдЖрджреЗрд╢ рдореЗрдВ, рдЕрдВрддрд┐рдо 2 рд╡рд░реНрдг рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдирдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрд░реНрдерд╛рддред рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдПрдХ рд╡рд░реНрдг рдпрд╛ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╛рддреНрд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рд╕реНрдерд┐рддрд┐ 2 рд╡рд░реНрдгреЛрдВ рдХреА рднрд░рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдереАред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐
рдСрд░реНрдбрд░рдмрд╛рдп рдореЗрдВ рдЕрдЪрд╛рдирдХ 1 рд╡рд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдПрдХ
StringIndexOutOfBoundsException рдХреЛ рдлреЗрдВрдХ
рджреЗрдЧрд╛ ред
рдЪреЗрддрд╛рд╡рдиреА рекV6013 рдСрдмреНрдЬреЗрдХреНрдЯ 'рдорд╛рд╕реНрдЯрд░рдХреЙрд▓рдХреНрд╢рди' рдФрд░ 'рдПрдВрдЯрд┐рдЯреАрдЬрд╝' рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ рдПрдХ рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ред рдХрд▓реЗрдХреНрд╢рдирдкреНрд░реЙрдкрд░реНрдЯреА рдХреЙрдиреНрдЯреЗрдирд░рдЗрдореНрдкреНрд▓.рдЬрд╛рд╡рд╛ (81)
@Override public void setItems(@Nullable Collection<E> entities) { super.setItems(entities); Entity masterItem = master.getItemOrNull(); if (masterItem != null) { MetaProperty masterProperty = getMasterProperty(); Collection masterCollection = masterItem.getValue(masterProperty.getName()); if (masterCollection != entities) { updateMasterCollection(masterProperty, masterCollection, entities); } } }
UpdateMasterCollection рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ
, рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ
MasterCollection рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрдЧреНрд░рд╣реЛрдВ рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рддреА рдереА, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ рдореВрд▓реНрдп рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред
рдЪреЗрддрд╛рд╡рдиреА релV6013 рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА 'рд╡реИрд▓реНрдпреВ' рдФрд░ 'рдУрд▓реНрдбрд╡реИрд▓реНрдпреВ' рдХреА рддреБрд▓рдирд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ рдПрдХ рд╕рдорд╛рдирддрд╛ рддреБрд▓рдирд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛ред WebOptionsList.java (278)
protected boolean isCollectionValuesChanged(Collection<I> value, Collection<I> oldValue) { return value != oldValue; }
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдпрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рд╢рд╛рдпрдж рд╕рдВрджрд░реНрдн рд╕реЗ рддреБрд▓рдирд╛ рднреА рд╡рд╣ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЧрдИ рдереАред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд┐рддрд┐
рдЪреЗрддрд╛рд╡рдиреА резV6007 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'mask.charAt (i + рдСрдлрд╕реЗрдЯ)! = рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред DatePickerDocument.java (238)
private String calculateFormattedString(int offset, String text) .... { .... if ((mask.charAt(i + offset) == placeHolder)) {
рджреВрд╕рд░реА рддреБрд▓рдирд╛ рдореЗрдВ, рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдЬрд╛рдВрдЪ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдХрдиреЗрдХреНрдЯрд░ == рдирд▓' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред HTML5Support.java (169)
private boolean validate(NativeEvent event) { .... while (connector == null) { widget = widget.getParent(); connector = Util.findConnectorFor(widget); } if (this.connector == connector) { return true; } else if (connector == null) {
рд▓реВрдк рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж,
рдХрдиреЗрдХреНрдЯрд░ рдЪрд░ рдХрд╛ рдореВрд▓реНрдп
рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдБрдЪ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рдЬрдЧрд╣ рдЬрд┐рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП:
- V6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'StringUtils.isBlank (strValue)' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред рдкрд░рдо.рдЬрд╛рд╡рд╛ (818)
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб
V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (283)
private void throwException() { throw new RuntimeException(TEST_EXCEPTION_MSG); } @Test public void testSuspendRollback() { Transaction tx = cont.persistence().createTransaction(); try { .... Transaction tx1 = cont.persistence().createTransaction(); try { EntityManager em1 = cont.persistence().getEntityManager(); assertTrue(em != em1); Server server1 = em1.find(Server.class, server.getId()); assertNull(server1); throwException();
рдереНрд░реЛ
рдПрдХреНрд╕рд╕реЗрдкреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ рдЬреЛ рдХреЙрд▓ рдХреЛ
tx1.commit рдлрд╝рдВрдХреНрд╢рди рдкрд░
рд░реЛрдХрддрд╛ рд╣реИ
ред рд╢рд╛рдпрдж рдЗрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред
рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕рдорд╛рди рд╕реНрдерд╛рди:
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (218)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransTestest.java (163)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (203)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред TransactionTest.java (137)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред UpdateDetachedTest.java (153)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред EclipseLinkDetachedTest.java (132)
- V6019 рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред рджреГрдврд╝рддрд╛ Tj.java (223)
рд╕рдВрджрд┐рдЧреНрдз рдХрд╛рд░реНрдп рддрд░реНрдХ
рдЪреЗрддрд╛рд╡рдиреА резV6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдирдордХ' рд╣рдореЗрд╢рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рд╢рд░реАрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред BCryptEnc рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиModule.java (47)
@Override public String getHash(String content, String salt) { salt = BCrypt.gensalt(); return BCrypt.hashpw(content, salt); }
рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ,
рдирдордХ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рд╣реИрд╢ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рдмреНрджрдХреЛрд╢ рдЦреЛрдЬреЛрдВ рдФрд░ рдЗрдВрджреНрд░рдзрдиреБрд╖ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдкрдврд╝реЗрдВ:
рдирдордХ (рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА) ред
рдЗрд╕ рдлрдВрдХреНрд╢рди рдореЗрдВ, рдлрдВрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдкрд░ рд▓рд╛рдЗрди рдХреЛ рддреБрд░рдВрдд рд░рдЧрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рдХреА рдЕрдирджреЗрдЦреА рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рднреЗрджреНрдпрддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА реирдорд╛рдирд╛ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдПрдХ рдмрд╛рд░ рдореЗрдВ рджреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ:
- V6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдСрдлрд╕реЗрдЯрд╡рд┐рджрде' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рдирд┐рдХрд╛рдп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реБрдЧреНрдореЗрдВрдЯреЗрд╢рдирдлрд┐рд▓реНрдбрд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (433)
- V6023 рдкреИрд░рд╛рдореАрдЯрд░ 'рдСрдлрд╕реЗрдЯрд╣рд╛рдЗрдЯ' рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рдирд┐рдХрд╛рдп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реБрдЧреНрдореЗрдВрдЯреЗрд╢рдирдлрд┐рд▓реНрдбрд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (433)
@Override public void setPosition(int offsetWidth, int offsetHeight) { offsetHeight = getOffsetHeight(); .... if (offsetHeight + getPopupTop() > ....)) { .... } .... offsetWidth = containerFirstChild.getOffsetWidth(); if (offsetWidth + getPopupLeft() > ....)) { .... } else { left = getPopupLeft(); } setPopupPosition(left, top); }
рдордиреЛрд░рдВрдЬрдХ рдХреЛрдбред рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рджреЛ рдЪрд░ рд▓реЗрддрд╛ рд╣реИ:
рдСрдлрд╝рд╕реЗрдЯрд╡рд┐рдВрдб рдФрд░
рдСрдлрд╕реЗрдЯрд╣рд╛рдЗрдЯ , рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЪреЗрддрд╛рд╡рдиреА рейV6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рд╢реЙрд░реНрдЯрдХрдЯ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DeclarativeTrackingAction.java (47)
public DeclarativeTrackingAction(String id, String caption, String description, String icon, String enable, String visible, String methodName, @Nullable String shortcut, ActionsHolder holder) { super(id); this.caption = caption; this.description = description; this.icon = icon; setEnabled(enable == null || Boolean.parseBoolean(enable)); setVisible(visible == null || Boolean.parseBoolean(visible)); this.methodName = methodName; checkActionsHolder(holder); }
рд╢реЙрд░реНрдЯрдХрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреБрд░рд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдпрд╣ рдЪреЗрддрд╛рд╡рдиреА рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред
рдХреБрдЫ рдФрд░ рд╕рдорд╛рди рд╕реНрдерд╛рди:
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рдЯрд╛рдЗрдк' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред QueryNode.java (36)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'text2' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MarkerAddition.java (22)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рдЪрдпрди' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред AceEditor.java (114)
- V6022 рдкреИрд░рд╛рдореАрдЯрд░ 'рд╡рд┐рдХрд▓реНрдк' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред EntitySerialization.java (379)
рдПрдХ рд╣реА рдХреЛрдб рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдп
рдЪреЗрддрд╛рд╡рдиреА резV6032 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ 'firstItemId' рдХрд╛ рд╢рд░реАрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ 'lastItemId' рдХреЗ рд╢рд░реАрд░ рдХреЗ рд╕рдорддреБрд▓реНрдп рд╣реИред рдХрдВрдЯреЗрдирд░рдЯреЗрдмрд▓ рдЗрдЯреНрд╕.рдЬрд╛рд╡рд╛ (213), рдХрдВрдЯреЗрдирд░рдЯреЗрдмрд▓ рдЗрдЯреНрд╕.рдЬрд╛рд╡рд╛ (219)
@Override public Object firstItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); } @Override public Object lastItemId() { List<E> items = container.getItems(); return items.isEmpty() ? null : items.get(0).getId(); }
рдлрд╝рд░реНрд╕реНрдЯ рдЗрдЯрдЗрдордЖрдИрдб рдФрд░
рд▓рд╛рд╕реНрдЯ рдЗрдЯрд┐рдорд┐рдб рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдорд╛рди рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдореЗрдВ рдПрдХ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ
0 рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЪреЗрддрд╛рд╡рдиреА реиV6032 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рд╢рд░реАрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреЗ рд╢рд░реАрд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред SearchComboBoxPainter.java (495), SearchComboBoxPainter.java (501)
private void paintBackgroundDisabledAndEditable(Graphics2D g) { rect = decodeRect1(); g.setPaint(color53); g.fill(rect); } private void paintBackgroundEnabledAndEditable(Graphics2D g) { rect = decodeRect1(); g.setPaint(color53); g.fill(rect); }
рд╕рдВрджрд┐рдЧреНрдз рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рджреЛ рдФрд░ рдХрд╛рд░реНрдпред рдореИрдВ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрджреНрдпрдо рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ
color53 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдЕрд╢рдХреНрдд рд╕рдВрджрд░реНрдн
рдЪреЗрддрд╛рд╡рдиреА резV6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'descriptionPopup' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред SuggestPopup.java (252), SuggestPopup.java (251)
protected void updateDescriptionPopupPosition() { int x = getAbsoluteLeft() + WIDTH; int y = getAbsoluteTop(); descriptionPopup.setPopupPosition(x, y); if (descriptionPopup!=null) { descriptionPopup.setPopupPosition(x, y); } }
рдХреЗрд╡рд▓ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рд▓реЗрдЦрдХ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
setPopupPosition рд╡рд┐рдзрд┐ рдХрд╛
рд╡рд░реНрдгрди Popup рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддреБрд▓рдирд╛
рдирд▓ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ,
рд╕реЗрдЯрдкреЙрдкрдкрдкрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рдХреЙрд▓ рдирд┐рд░рд░реНрдердХ рдФрд░ рдЦрддрд░рдирд╛рдХ рд╣реИред рдпрд╣ рдЕрд╕рдлрд▓ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА реиV6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'tableModel' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред DesktopAbstractTable.java (1580), DesktopAbstractTable.java (1564)
protected Column addRuntimeGeneratedColumn(String columnId) {
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореМрдЬреВрдж рд╣реИред
TableModel рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдИ рдХреЙрд▓ рдХреЗ рдмрд╛рдж, рдпрд╣
рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣
рд╢реВрдиреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг:
- V6060 рдирд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'tableModel' рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред DesktopAbstractTable.java (596), DesktopAbstractTable.java (579)
рд╢рд╛рдпрдж рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЧрд▓рддреА
V6026 рдпрд╣ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'SortAscending' рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рд╕реНрдХреНрд░реЛрд▓рдЯреЗрдмрд▓рд╡реЗрдЧреЗрдЯ.рдЬрд╛рд╡рд╛ (488)
@Override protected void sortColumn() { .... if (sortAscending) { if (sortClickCounter < 2) {
рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ
рдпреЛрдЧреНрдп рдЪрд░
рдкрд╣рд▓реЗ рд╕реЗ
рд╣реА рд╕рддреНрдп рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрднреА рднреА рд╕рдорд╛рди рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ рдФрд░
рдЭреВрдареЗ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдПрдХ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг:
- V6026 рдпрд╣ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'SortAscending' рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпреВрдмрд╛рдЯреНрд░реАрдЯреЗрдмрд▓рд╡реЗрдЯ.рдЬрд╛рд╡рд╛ (444)
рдЕрдЬреАрдм рд╕рдорд╛рд░реЛрд╣ рд░рд┐рдЯрд░реНрди рдорд╛рди
рдЪреЗрддрд╛рд╡рдиреА резV6037 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рд╡рд╛рдкрд╕реА'ред QueryCacheManager.java (128)
public <T> T getSingleResultFromCache(QueryKey queryKey, List<View> views) { .... for (Object id : queryResult.getResult()) { return (T) em.find(metaClass.getJavaClass(), id, views.toArray(....)); } .... }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ
рдиреЗ рд▓реВрдк рдХреЗ
рд▓рд┐рдП рдкрд╣рд▓реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░
рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреЙрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ, рдпрд╛ рдЖрдкрдХреЛ
рдпрджрд┐ рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдЪреЗрддрд╛рд╡рдиреА реиV6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред DefaultExceptionHandler.java (40)
@Override public boolean handle(ErrorEvent event, App app) { Throwable t = event.getThrowable(); if (t instanceof SocketException || ExceptionUtils.getRootCause(t) instanceof SocketException) { return true; } if (ExceptionUtils.getThrowableList(t).stream() .anyMatch(o -> o.getClass().getName().equals("...."))) { return true; } if (StringUtils.contains(ExceptionUtils.getMessage(t), "....")) { return true; } AppUI ui = AppUI.getCurrent(); if (ui == null) { return true; } if (t != null) { if (app.getConnection().getSession() != null) { showDialog(app, t); } else { showNotification(app, t); } } return true; }
рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди
рд╕рд╣реА рд╣реИ ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдмрд╣реБрдд рд╣реА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ
рдЭреВрдареА рд╡рд╛рдкрд╕реА рдХреА рднреАрдЦ рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред рд╢рд╛рдпрдж рдХреЛрдИ рдЧрд▓рддреА рд╣реЛред
рд╕рдорд╛рди рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрджрд┐рдЧреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА:
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред ErrorNodesFinder.java (31)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред FileDownloadController.java (69)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (73)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (48)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (67)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред IdVarSelector.java (46)
- V6014 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред JoinVariableNode.java (57)
рдЪреЗрддрд╛рд╡рдиреА рейV6007 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рдЬрд░реВрд░рддрд░реИрд▓реЛрдж' рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред WebAbstractTable.java (2702)
protected boolean handleSpecificVariables(Map<String, Object> variables) { boolean needReload = false; if (isUsePresentations() && presentations != null) { Presentations p = getPresentations(); if (p.getCurrent() != null && p.isAutoSave(p.getCurrent()) && needUpdatePresentation(variables)) { Element e = p.getSettings(p.getCurrent()); saveSettings(e); p.setSettings(p.getCurrent(), e); } } return needReload; }
рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд░рд┐рдЯрд░реНрдирд░реЗрд▓реИрдб рдЪрд░, рдЬрд┐рд╕рдХрд╛ рдорд╛рди рд╣рдореЗрд╢рд╛
рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдПрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡реЗ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдПред
рдЪреЗрддрд╛рд╡рдиреА рекV6062 'рдЗрдирдлреЛрдХрд╕' рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдВрджрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдирдВрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ред GwtAceEditor.java (189), GwtAceEditor.java (190)
public final native void focus() ; public final boolean isFocused() { return this.isFocused(); }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд┐рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╢рд░реНрдд рдХреЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ
рдореВрд▓ рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреЛрдб рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдФрд░ рдЬрд▓реНрдж рд╣реА рдбреЗрд╡рд▓рдкрд░реНрд╕
isFocused рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗред
рд╡рд┐рд╡рд┐рдз рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ
рдЪреЗрддрд╛рд╡рдиреА резV6002 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ 'рдСрдкрд░реЗрд╢рди'
рдПрдирдо рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: ADDред DesktopAbstractTable.java (665)
enum Operation { REFRESH, CLEAR, ADD, REMOVE, UPDATE } @Override public void setDatasource(final CollectionDatasource datasource) { .... collectionChangeListener = e -> { switch (e.getOperation()) { case CLEAR: case REFRESH: fieldDatasources.clear(); break; case UPDATE: case REMOVE: for (Object entity : e.getItems()) { fieldDatasources.remove(entity); } break; } }; .... }
рд╕реНрд╡рд┐рдЪ рд╡рд┐рд╡рд░рдг ADD рдХреЗ рдорд╛рди рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдЕрдкреНрд░рдорд╛рдгрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдИ рдЧрд▓рддреА рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЪреЗрддрд╛рд╡рдиреА реиV6021 рдЪрд░ 'рд╕реНрд░реЛрдд' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╛рд▓реНрдЯ рд╣реЙрд░рд┐рдЬрд╝реЙрдиреНрдЯрд▓ рд▓рд╛рдИрдЯрдбреНрд░реЙрдкрд╣реИрдВрдбрд▓рд░.рдЬрд╛рд╡рд╛ (177)
@Override protected void handleHTML5Drop(DragAndDropEvent event) { LayoutBoundTransferable transferable = (LayoutBoundTransferable) event .getTransferable(); HorizontalLayoutTargetDetails details = (HorizontalLayoutTargetDetails) event .getTargetDetails(); AbstractOrderedLayout layout = (AbstractOrderedLayout) details .getTarget(); Component source = event.getTransferable().getSourceComponent();
рд╕реНрд░реЛрдд рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж, рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЕрдиреНрдп
COMP рдЪрд░ рдХреА рддрд░рд╣, рд╡реЗ
рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рд╕реНрд░реЛрдд рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдПред
рдЕрдкреНрд░рдпреБрдХреНрдд рдЪрд░ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп:
- V6021 рдЪрд░ 'рд╕реНрд░реЛрдд' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultHor рдХреНрд╖реИрддрд┐рдЬрд▓реВрдЯрдЖрдЙрдЯрдбреНрд░реЙрдкрд▓рд░ .java (175)
- V6021 рдорд╛рди рдХреЛ 'r' рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ExcelExporter.java (262)
- V6021 рдЪрд░ 'рдУрд╡рд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultCssLoutoutDropHandler.java (49)
- V6021 рдЪрд░ 'рд╣рд╕реНрддрд╛рдВрддрд░рдгреАрдп' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлреЙрд▓реНрдЯрд╣реЛрд░рд▓реЙрдпрдЖрдЙрдЯрдбреНрд░реЙрдкрд╣реИрдВрдбрд▓рд░.рдЬрд╛рд╡рд╛ (171)
- V6021 рдЪрд░ 'рд╣рд╕реНрддрд╛рдВрддрд░рдгреАрдп' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DefaultHor рдХреНрд╖реИрддрд┐рдЬрд▓реВрдЯрдЖрдЙрдЯрдбреНрд░реЙрдкрд▓рд░ .java (169)
- V6021 рдкрд░рд┐рд╡рд░реНрддрдиреАрдп 'рдмреАрдирд▓реЛрдХреЗрдЯрд░' рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ScreenEventMixin.java (28)
рдЪреЗрддрд╛рд╡рдиреА рейV6054 рд╡рд░реНрдЧреЛрдВ рдХреА рдЙрдирдХреЗ рдирд╛рдо рд╕реЗ рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред MessageTools.java (283)
public boolean hasPropertyCaption(MetaProperty property) { Class<?> declaringClass = property.getDeclaringClass(); if (declaringClass == null) return false; String caption = getPropertyCaption(property); int i = caption.indexOf('.'); if (i > 0 && declaringClass.getSimpleName().equals(caption.substring(0, i))) return false; else return true; }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрдм рд╡рд░реНрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдирд╛рдо рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдЧрд▓рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЗрд╡реАрдПрдо рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрдиреВрдард╛ рдирд╛рдо рд╣реИред рдпрд╣ рдЧрд▓рдд рдХреЛрдб рдХреА рдЧрд▓рдд рддреБрд▓рдирд╛ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред
CUBA рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрд╡рд▓рдкрд░ рдлреАрдбрдмреИрдХ
рдмреЗрд╢рдХ, рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреАрдбрд╝реЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рд╕рд╣рд░реНрд╖ рд╕рд╣рдордд рд╣реБрдПред CUBA рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ Apache 2 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ OSS рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рдХреЛрдб рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдЗрди рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓реАрдВред рдЕрдм рд╣рдо рд╕реНрдкреЙрдЯрдмрдЧреНрд╕ рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдИ рдЧрдИ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдордп рд╣реИ рдХрд┐ рдЖрдк рдЦреБрдж рдЬрд╛рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рд▓рд┐рдЦреЗрдВред рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рдХреЛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджредрдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдпрд╣ рднреА рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐ V6013 рдФрд░ V6054 рдХреА рдЪреЗрддрд╛рд╡рдиреА рдЧрд▓рдд рд╣реИред рдХреЛрдб рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдЯреЗрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕рднреА рдирд┐рд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реИред рдлрд┐рд░ рднреА, рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рджрдорди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдПрдХ рдФрд░ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ "рдпрд╣ рд╕рдордп рд╣реИ рдХрд┐ рд╡рд╣ рдЦреБрдж рдЬрд╛рдХрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреЗрдХ рд▓рд┐рдЦреЗ" рдФрд░ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рди рдЫреЛрдбрд╝реЗрдВ :)
рдирд┐рд╖реНрдХрд░реНрд╖
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рджрд░реНрдЬрдиреЛрдВ, рд╕реИрдХрдбрд╝реЛрдВ рдФрд░ рд╣рдЬрд╛рд░реЛрдВ рдХрд░реНрдордЪрд╛рд░реА рд╣реИрдВред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рди рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛрдб рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдореЗрдВ, рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬрд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдРрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдЬрд╣рд╛рдВ рдХреЛрдб рдХрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: Svyatoslav Razmyslovред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдХреЗ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг