@openui5/sap.ui.core 1.96.2 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.reuse/dep5 +1 -1
  3. package/THIRDPARTY.txt +2 -1
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +2 -2
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  11. package/src/sap/base/util/restricted/_castArray.js +1 -1
  12. package/src/sap/base/util/restricted/_compact.js +1 -1
  13. package/src/sap/base/util/restricted/_curry.js +1 -1
  14. package/src/sap/base/util/restricted/_debounce.js +1 -1
  15. package/src/sap/base/util/restricted/_difference.js +1 -1
  16. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  21. package/src/sap/base/util/restricted/_flatten.js +1 -1
  22. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_intersection.js +1 -1
  25. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  27. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isNil.js +1 -1
  30. package/src/sap/base/util/restricted/_max.js +1 -1
  31. package/src/sap/base/util/restricted/_merge.js +1 -1
  32. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  33. package/src/sap/base/util/restricted/_min.js +1 -1
  34. package/src/sap/base/util/restricted/_omit.js +1 -1
  35. package/src/sap/base/util/restricted/_pick.js +1 -1
  36. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  37. package/src/sap/base/util/restricted/_throttle.js +1 -1
  38. package/src/sap/base/util/restricted/_toArray.js +1 -1
  39. package/src/sap/base/util/restricted/_union.js +1 -1
  40. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  41. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  42. package/src/sap/base/util/restricted/_uniq.js +1 -1
  43. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  45. package/src/sap/base/util/restricted/_without.js +1 -1
  46. package/src/sap/base/util/restricted/_xor.js +1 -1
  47. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  48. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  49. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  51. package/src/sap/ui/Device.js +4 -4
  52. package/src/sap/ui/Global.js +11 -16
  53. package/src/sap/ui/base/Event.js +1 -1
  54. package/src/sap/ui/base/EventProvider.js +1 -1
  55. package/src/sap/ui/base/Interface.js +1 -1
  56. package/src/sap/ui/base/ManagedObject.js +3 -3
  57. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  58. package/src/sap/ui/base/Metadata.js +1 -3
  59. package/src/sap/ui/base/Object.js +1 -1
  60. package/src/sap/ui/base/ObjectPool.js +1 -1
  61. package/src/sap/ui/core/.library +1 -27
  62. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/Component.js +31 -9
  65. package/src/sap/ui/core/ComponentContainer.js +1 -1
  66. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  67. package/src/sap/ui/core/ComponentSupport.js +1 -1
  68. package/src/sap/ui/core/Control.js +2 -2
  69. package/src/sap/ui/core/Core.js +2 -2
  70. package/src/sap/ui/core/CustomData.js +1 -1
  71. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  72. package/src/sap/ui/core/Element.js +2 -6
  73. package/src/sap/ui/core/ElementMetadata.js +1 -1
  74. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  75. package/src/sap/ui/core/EventBus.js +1 -1
  76. package/src/sap/ui/core/Fragment.js +1 -1
  77. package/src/sap/ui/core/HTML.js +3 -3
  78. package/src/sap/ui/core/History.js +1 -1
  79. package/src/sap/ui/core/Icon.js +1 -1
  80. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  81. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  82. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  83. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  84. package/src/sap/ui/core/InvisibleText.js +1 -1
  85. package/src/sap/ui/core/Item.js +1 -1
  86. package/src/sap/ui/core/LabelEnablement.js +1 -1
  87. package/src/sap/ui/core/LayoutData.js +1 -1
  88. package/src/sap/ui/core/ListItem.js +1 -1
  89. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  90. package/src/sap/ui/core/Locale.js +1 -1
  91. package/src/sap/ui/core/LocaleData.js +3 -3
  92. package/src/sap/ui/core/Manifest.js +1 -1
  93. package/src/sap/ui/core/Message.js +1 -1
  94. package/src/sap/ui/core/RenderManager.js +3 -3
  95. package/src/sap/ui/core/Renderer.js +1 -1
  96. package/src/sap/ui/core/ResizeHandler.js +1 -1
  97. package/src/sap/ui/core/ScrollBar.js +4 -3
  98. package/src/sap/ui/core/SeparatorItem.js +1 -1
  99. package/src/sap/ui/core/ThemeCheck.js +2 -2
  100. package/src/sap/ui/core/Title.js +1 -1
  101. package/src/sap/ui/core/TooltipBase.js +1 -1
  102. package/src/sap/ui/core/UIArea.js +3 -3
  103. package/src/sap/ui/core/UIComponent.js +1 -1
  104. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  105. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  106. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  107. package/src/sap/ui/core/XMLComposite.js +1 -1
  108. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  109. package/src/sap/ui/core/XMLTemplateProcessor.js +19 -5
  110. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
  111. package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
  112. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  113. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  115. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  117. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  118. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  119. package/src/sap/ui/core/library.js +5 -5
  120. package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
  121. package/src/sap/ui/core/message/Message.js +1 -1
  122. package/src/sap/ui/core/message/MessageManager.js +1 -1
  123. package/src/sap/ui/core/message/MessageParser.js +1 -1
  124. package/src/sap/ui/core/message/MessageProcessor.js +22 -12
  125. package/src/sap/ui/core/messagebundle_fr.properties +7 -7
  126. package/src/sap/ui/core/messagebundle_ru.properties +21 -21
  127. package/src/sap/ui/core/mvc/Controller.js +4 -4
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  134. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  137. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  138. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  139. package/src/sap/ui/core/rules/Misc.support.js +51 -1
  140. package/src/sap/ui/core/rules/Rendering.support.js +1 -4
  141. package/src/sap/ui/core/rules/View.support.js +14 -46
  142. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  143. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  144. package/src/sap/ui/core/service/Service.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  146. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  147. package/src/sap/ui/core/support/Plugin.js +2 -2
  148. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
  149. package/src/sap/ui/core/support/Support.js +1 -1
  150. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  151. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  153. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  154. package/src/sap/ui/core/support/plugins/Performance.js +1 -2
  155. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  156. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  158. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  159. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  160. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  161. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  162. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  163. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  164. package/src/sap/ui/core/tmpl/Template.js +1 -1
  165. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  166. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  167. package/src/sap/ui/core/util/Export.js +1 -1
  168. package/src/sap/ui/core/util/ExportCell.js +1 -1
  169. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  170. package/src/sap/ui/core/util/ExportRow.js +1 -1
  171. package/src/sap/ui/core/util/ExportType.js +1 -1
  172. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  173. package/src/sap/ui/core/util/File.js +1 -1
  174. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  175. package/src/sap/ui/core/util/MockServer.js +2 -2
  176. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  177. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +4 -4
  178. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  179. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  180. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  181. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  182. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  183. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  184. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  185. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  186. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  187. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  188. package/src/sap/ui/debug/ControlTree.js +1 -1
  189. package/src/sap/ui/debug/DebugEnv.js +1 -1
  190. package/src/sap/ui/debug/PropertyList.js +1 -1
  191. package/src/sap/ui/model/ChangeReason.js +1 -1
  192. package/src/sap/ui/model/ClientListBinding.js +7 -0
  193. package/src/sap/ui/model/ClientModel.js +6 -5
  194. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  195. package/src/sap/ui/model/CompositeDataState.js +1 -1
  196. package/src/sap/ui/model/CompositeType.js +1 -1
  197. package/src/sap/ui/model/DataState.js +1 -1
  198. package/src/sap/ui/model/ListBinding.js +24 -5
  199. package/src/sap/ui/model/MetaModel.js +1 -1
  200. package/src/sap/ui/model/Model.js +5 -10
  201. package/src/sap/ui/model/SelectionModel.js +1 -1
  202. package/src/sap/ui/model/SimpleType.js +1 -1
  203. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  204. package/src/sap/ui/model/TreeBindingAdapter.js +0 -2
  205. package/src/sap/ui/model/TreeBindingUtils.js +2 -0
  206. package/src/sap/ui/model/Type.js +1 -1
  207. package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -6
  208. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
  209. package/src/sap/ui/model/json/JSONModel.js +7 -7
  210. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  211. package/src/sap/ui/model/message/MessageModel.js +3 -3
  212. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  213. package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
  214. package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
  215. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  216. package/src/sap/ui/model/odata/ODataListBinding.js +61 -38
  217. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  218. package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
  219. package/src/sap/ui/model/odata/ODataMetadata.js +136 -85
  220. package/src/sap/ui/model/odata/ODataModel.js +442 -215
  221. package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
  222. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
  223. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
  224. package/src/sap/ui/model/odata/ODataUtils.js +24 -9
  225. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
  226. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +10 -8
  227. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
  228. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  229. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  230. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  231. package/src/sap/ui/model/odata/type/Date.js +1 -1
  232. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  233. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  234. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  235. package/src/sap/ui/model/odata/type/Decimal.js +5 -1
  236. package/src/sap/ui/model/odata/type/Double.js +1 -1
  237. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int.js +1 -1
  239. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  240. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  241. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  242. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  243. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  244. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  245. package/src/sap/ui/model/odata/type/Single.js +1 -1
  246. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  247. package/src/sap/ui/model/odata/type/String.js +1 -1
  248. package/src/sap/ui/model/odata/type/Time.js +1 -1
  249. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  250. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  251. package/src/sap/ui/model/odata/type/UnitMixin.js +0 -1
  252. package/src/sap/ui/model/odata/v2/Context.js +42 -11
  253. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  254. package/src/sap/ui/model/odata/v2/ODataListBinding.js +205 -88
  255. package/src/sap/ui/model/odata/v2/ODataModel.js +154 -89
  256. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +162 -89
  257. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +52 -2
  258. package/src/sap/ui/model/odata/v4/Context.js +48 -7
  259. package/src/sap/ui/model/odata/v4/ODataBinding.js +55 -24
  260. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +67 -19
  261. package/src/sap/ui/model/odata/v4/ODataListBinding.js +211 -78
  262. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  263. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -1
  264. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +36 -23
  265. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  266. package/src/sap/ui/model/odata/v4/lib/_Cache.js +106 -11
  267. package/src/sap/ui/model/odata/v4/lib/_Helper.js +33 -3
  268. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -2
  269. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  270. package/src/sap/ui/model/type/Boolean.js +1 -1
  271. package/src/sap/ui/model/type/Currency.js +1 -1
  272. package/src/sap/ui/model/type/Date.js +1 -1
  273. package/src/sap/ui/model/type/DateInterval.js +1 -1
  274. package/src/sap/ui/model/type/DateTime.js +1 -1
  275. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  276. package/src/sap/ui/model/type/FileSize.js +1 -1
  277. package/src/sap/ui/model/type/Float.js +1 -1
  278. package/src/sap/ui/model/type/Integer.js +1 -1
  279. package/src/sap/ui/model/type/String.js +1 -1
  280. package/src/sap/ui/model/type/Time.js +1 -1
  281. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  282. package/src/sap/ui/model/type/Unit.js +1 -1
  283. package/src/sap/ui/model/xml/XMLModel.js +5 -5
  284. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  285. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  286. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  287. package/src/sap/ui/test/actions/Action.js +9 -2
  288. package/src/sap/ui/test/actions/Press.js +28 -1
  289. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  290. package/src/sap/ui/util/Mobile.js +28 -39
  291. package/src/sap/ui/util/Storage.js +1 -1
  292. package/src/ui5loader.js +6 -6
  293. package/ui5.yaml +244 -1
  294. package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
  295. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  296. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  297. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  298. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  299. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  300. package/src/sap/ui/thirdparty/flexie.js +0 -1
  301. package/src/sap/ui/thirdparty/unorm.js +0 -1
  302. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -201,7 +201,7 @@ sap.ui.define([
201
201
  * This model is not prepared to be inherited from.
202
202
  *
203
203
  * @author SAP SE
204
- * @version 1.96.2
204
+ * @version 1.97.0
205
205
  *
206
206
  * @public
207
207
  * @alias sap.ui.model.odata.v2.ODataModel
@@ -936,6 +936,13 @@ sap.ui.define([
936
936
  };
937
937
 
938
938
  /**
939
+ * Get the shared data for the section and the key. If it doesn't exist yet, an empty shared
940
+ * data object is created and stored under the section and the key.
941
+ *
942
+ * @param {string} sSection The data section
943
+ * @param {string} sKey A key in the section
944
+ * @returns {object} The shared data
945
+ *
939
946
  * @private
940
947
  */
941
948
  ODataModel._getSharedData = function(sSection, sKey) {
@@ -981,21 +988,26 @@ sap.ui.define([
981
988
  /**
982
989
  * Refreshes the metadata for this model, for example when the request for metadata has failed.
983
990
  *
984
- * <b>Note</b>: Do not use <code>refreshMetadata</code> if the metadata is outdated or should be updated.
985
- * This will lead to inconsistent data in the application.
991
+ * <b>Note</b>: Do not use <code>refreshMetadata</code> if the metadata is outdated or should be
992
+ * updated. This will lead to inconsistent data in the application.
986
993
  *
987
- * Returns a new promise which can be resolved or rejected depending on the metadata loading state.
994
+ * Returns a new promise which can be resolved or rejected depending on the metadata loading
995
+ * state.
988
996
  *
989
- * @returns {Promise} A promise on metadata loaded state or <code>null</code> if metadata is not initialized or currently refreshed.
997
+ * @returns {Promise|undefined}
998
+ * A promise on metadata loaded state or <code>undefined</code> if metadata is not initialized
999
+ * or currently refreshed
990
1000
  *
991
1001
  * @deprecated As of version 1.42.
992
1002
  *
993
1003
  * @public
994
1004
  */
995
- ODataModel.prototype.refreshMetadata = function(){
996
- if (this.oMetadata && this.oMetadata.refresh){
1005
+ ODataModel.prototype.refreshMetadata = function() {
1006
+ if (this.oMetadata && this.oMetadata.refresh) {
997
1007
  return this.oMetadata.refresh();
998
1008
  }
1009
+
1010
+ return undefined;
999
1011
  };
1000
1012
 
1001
1013
 
@@ -1227,7 +1239,8 @@ sap.ui.define([
1227
1239
  * @private
1228
1240
  */
1229
1241
  ODataModel.prototype._createEventInfo = function(oRequest, oResponse, aBatchRequests) {
1230
- var oEventInfo = {};
1242
+ var oInnerResponse, oBatchRequest,
1243
+ oEventInfo = {};
1231
1244
 
1232
1245
  oEventInfo.url = oRequest.requestUri;
1233
1246
  oEventInfo.method = oRequest.method;
@@ -1237,13 +1250,13 @@ sap.ui.define([
1237
1250
  if (aBatchRequests) {
1238
1251
  oEventInfo.requests = [];
1239
1252
  for (var i = 0; i < aBatchRequests.length; i++) {
1240
- var oBatchRequest = {};
1253
+ oBatchRequest = {};
1241
1254
  //changeSets
1242
1255
  if (Array.isArray(aBatchRequests[i])) {
1243
1256
  var aChangeSet = aBatchRequests[i];
1244
1257
  for (var j = 0; j < aChangeSet.length; j++) {
1245
- var oRequest = aChangeSet[j].request;
1246
- var oInnerResponse = aBatchRequests[i][j].response;
1258
+ oRequest = aChangeSet[j].request;
1259
+ oInnerResponse = aBatchRequests[i][j].response;
1247
1260
  oBatchRequest = {};
1248
1261
  oBatchRequest.url = oRequest.requestUri;
1249
1262
  oBatchRequest.method = oRequest.method;
@@ -1270,8 +1283,8 @@ sap.ui.define([
1270
1283
  oEventInfo.requests.push(oBatchRequest);
1271
1284
  }
1272
1285
  } else {
1273
- var oRequest = aBatchRequests[i].request;
1274
- var oInnerResponse = aBatchRequests[i].response;
1286
+ oRequest = aBatchRequests[i].request;
1287
+ oInnerResponse = aBatchRequests[i].response;
1275
1288
  oBatchRequest.url = oRequest.requestUri;
1276
1289
  oBatchRequest.method = oRequest.method;
1277
1290
  oBatchRequest.headers = oRequest.headers;
@@ -2158,18 +2171,15 @@ sap.ui.define([
2158
2171
  * function is the newly created binding context, an instance of
2159
2172
  * {@link sap.ui.model.odata.v2.Context}.
2160
2173
  * @param {boolean} [bReload] Whether to reload data
2161
- * @return {sap.ui.model.odata.v2.Context}
2174
+ * @return {sap.ui.model.odata.v2.Context|undefined}
2162
2175
  * The created binding context, only if the data is already available and the binding context
2163
- * could be created synchronously
2176
+ * could be created synchronously; <code>undefined</code> otherwise
2164
2177
  * @public
2165
2178
  */
2166
2179
  ODataModel.prototype.createBindingContext = function(sPath, oContext, mParameters, fnCallBack, bReload) {
2167
- var sResolvedPath,
2168
- sCanonicalPath,
2169
- oNewContext,
2170
- sGroupId,
2171
- sDeepPath,
2172
- that = this, bCanonical;
2180
+ var bCanonical, sCanonicalPath, sCustomParams, sDeepPath, sGroupId, bIsRelative,
2181
+ oNewContext, aParams, sResolvedPath,
2182
+ that = this;
2173
2183
 
2174
2184
  // optional parameter handling
2175
2185
  if (oContext !== null && typeof oContext === "object"
@@ -2288,8 +2298,8 @@ sap.ui.define([
2288
2298
  }
2289
2299
 
2290
2300
  if (fnCallBack) {
2291
- var bIsRelative = !sPath.startsWith("/");
2292
- var aParams = [],
2301
+ bIsRelative = !sPath.startsWith("/");
2302
+ aParams = [];
2293
2303
  sCustomParams = this.createCustomParams(mParameters);
2294
2304
  if (sCustomParams) {
2295
2305
  aParams.push(sCustomParams);
@@ -2318,6 +2328,7 @@ sap.ui.define([
2318
2328
  return oNewContext;
2319
2329
  }
2320
2330
 
2331
+ return undefined;
2321
2332
  };
2322
2333
 
2323
2334
  /**
@@ -2396,9 +2407,10 @@ sap.ui.define([
2396
2407
  * Filter expand properties for expand applying to the current entity (remove deep expands)
2397
2408
  * and remove expands not covered by the select entries
2398
2409
  *
2399
- * @param {string[][]} aExpand Own expand entries as string arrays
2400
- * @param {string[][]} aSelect Own select entries as string arrays
2410
+ * @param {Array.<string[]>} aExpand Own expand entries as string arrays
2411
+ * @param {Array.<string[]>} aSelect Own select entries as string arrays
2401
2412
  * @returns {string[]} Array of own expand properties
2413
+ *
2402
2414
  * @private
2403
2415
  */
2404
2416
  ODataModel.prototype._filterOwnExpand = function(aExpand, aSelect) {
@@ -2488,9 +2500,8 @@ sap.ui.define([
2488
2500
  }
2489
2501
 
2490
2502
  function checkReloadNeeded(oEntityType, oEntity, aSelect, aExpand) {
2491
- var aOwnSelect, aOwnExpand,
2492
- vNavData, oNavEntityType, oNavEntity, aNavSelect, aNavExpand,
2493
- sExpand, sSelect;
2503
+ var sExpand, i, vNavData, oNavEntity, oNavEntityType,
2504
+ aNavExpand, aNavSelect, aOwnExpand, aOwnSelect, sSelect;
2494
2505
 
2495
2506
  // if no entity type could be found we decide not to reload
2496
2507
  if (!oEntityType) {
@@ -2511,7 +2522,7 @@ sap.ui.define([
2511
2522
 
2512
2523
  // check select properties
2513
2524
  aOwnSelect = that._filterOwnSelect(aSelect, oEntityType.property);
2514
- for (var i = 0; i < aOwnSelect.length; i++) {
2525
+ for (i = 0; i < aOwnSelect.length; i++) {
2515
2526
  sSelect = aOwnSelect[i];
2516
2527
  if (oEntity[sSelect] === undefined) {
2517
2528
  return true;
@@ -2520,7 +2531,7 @@ sap.ui.define([
2520
2531
 
2521
2532
  // check expanded entities
2522
2533
  aOwnExpand = that._filterOwnExpand(aExpand, aSelect);
2523
- for (var i = 0; i < aOwnExpand.length; i++) {
2534
+ for (i = 0; i < aOwnExpand.length; i++) {
2524
2535
  sExpand = aOwnExpand[i];
2525
2536
  vNavData = oEntity[sExpand];
2526
2537
 
@@ -2894,11 +2905,8 @@ sap.ui.define([
2894
2905
  }
2895
2906
 
2896
2907
  function getRequestedData(oEntityType, oValue, aSelect, aExpand) {
2897
- var aOwnExpand, oResultValue,
2898
- aOwnPropSelect, aOwnNavSelect,
2899
- vNavData, oNavEntityType, oNavValue, oNavObject,
2900
- aNavSelect, aNavExpand,
2901
- sExpand, sSelect, aResultProps;
2908
+ var sExpand, i,vNavData, oNavEntityType, aNavExpand, oNavObject, aNavSelect, oNavValue,
2909
+ aOwnExpand, aOwnNavSelect, aOwnPropSelect, aResultProps, oResultValue, sSelect;
2902
2910
 
2903
2911
  // if no value we return undefined
2904
2912
  if (!oValue) {
@@ -2912,7 +2920,7 @@ sap.ui.define([
2912
2920
  aOwnPropSelect = that._filterOwnSelect(aSelect, oEntityType.property);
2913
2921
  // copy selected properties
2914
2922
  oResultValue = {};
2915
- for (var i = 0; i < aOwnPropSelect.length; i++) {
2923
+ for (i = 0; i < aOwnPropSelect.length; i++) {
2916
2924
  sSelect = aOwnPropSelect[i];
2917
2925
  if (oValue[sSelect] !== undefined) {
2918
2926
  oResultValue[sSelect] = oValue[sSelect];
@@ -2928,7 +2936,7 @@ sap.ui.define([
2928
2936
 
2929
2937
  // check expanded entities
2930
2938
  aOwnExpand = that._filterOwnExpand(aExpand, aSelect);
2931
- for (var i = 0; i < aOwnExpand.length; i++) {
2939
+ for (i = 0; i < aOwnExpand.length; i++) {
2932
2940
  sExpand = aOwnExpand[i];
2933
2941
  vNavData = oValue[sExpand];
2934
2942
 
@@ -3314,16 +3322,14 @@ sap.ui.define([
3314
3322
  that["fireRequest" + sType](oEventInfo);
3315
3323
  });
3316
3324
  });
3317
- } else {
3318
- if (oRequest.parts) {
3319
- each(oRequest.parts, function(i, oPart) {
3320
- oEventInfo = that._createEventInfo(oRequest.request, oPart.fnError);
3321
- that["fireRequest" + sType](oEventInfo);
3322
- });
3323
- } else {
3324
- oEventInfo = that._createEventInfo(oRequest.request, oRequest.fnError);
3325
+ } else if (oRequest.parts) {
3326
+ each(oRequest.parts, function(i, oPart) {
3327
+ oEventInfo = that._createEventInfo(oRequest.request, oPart.fnError);
3325
3328
  that["fireRequest" + sType](oEventInfo);
3326
- }
3329
+ });
3330
+ } else {
3331
+ oEventInfo = that._createEventInfo(oRequest.request, oRequest.fnError);
3332
+ that["fireRequest" + sType](oEventInfo);
3327
3333
  }
3328
3334
  });
3329
3335
  if (oRequest.eventInfo.batch){
@@ -3431,12 +3437,14 @@ sap.ui.define([
3431
3437
  }
3432
3438
 
3433
3439
  function handleError(oError) {
3440
+ var i;
3441
+
3434
3442
  if (oError.message == "Request aborted") {
3435
- for (var i = 0; i < oRequest.parts.length; i++){
3443
+ for (i = 0; i < oRequest.parts.length; i++){
3436
3444
  that._processAborted(oRequest.parts[i].request, oError);
3437
3445
  }
3438
3446
  } else {
3439
- for (var i = 0; i < oRequest.parts.length; i++) {
3447
+ for (i = 0; i < oRequest.parts.length; i++) {
3440
3448
  that._processError(oRequest.parts[i].request, oError, oRequest.parts[i].fnError);
3441
3449
  }
3442
3450
  }
@@ -3768,7 +3776,8 @@ sap.ui.define([
3768
3776
  * @private
3769
3777
  */
3770
3778
  ODataModel.prototype._pushToRequestQueue = function(mRequests, sGroupId, sChangeSetId, oRequest, fnSuccess, fnError, requestHandle, bRefreshAfterChange) {
3771
- var oRequestGroup = mRequests[sGroupId],
3779
+ var oGroupEntry,
3780
+ oRequestGroup = mRequests[sGroupId],
3772
3781
  sRequestKey = oRequest.key ? oRequest.key : oRequest.method + ":" + oRequest.requestUri;
3773
3782
 
3774
3783
  //ignore requests in warmup scenario
@@ -3785,7 +3794,7 @@ sap.ui.define([
3785
3794
 
3786
3795
  //'combine' only GET and internal create&change requests.
3787
3796
  if (sRequestKey in oRequestGroup.map && (oRequest.key || oRequest.method === 'GET')) {
3788
- var oGroupEntry = oRequestGroup.map[sRequestKey];
3797
+ oGroupEntry = oRequestGroup.map[sRequestKey];
3789
3798
  var oStoredRequest = oGroupEntry.request;
3790
3799
  oRequest.deepPath = oStoredRequest.deepPath;
3791
3800
  if (this.sMessageScope === MessageScope.BusinessObject) {
@@ -3832,7 +3841,7 @@ sap.ui.define([
3832
3841
  oStoredRequest.functionTarget = oRequest.functionTarget;
3833
3842
  }
3834
3843
  } else {
3835
- var oGroupEntry = {
3844
+ oGroupEntry = {
3836
3845
  request: oRequest,
3837
3846
  bRefreshAfterChange: bRefreshAfterChange,
3838
3847
  parts: [{
@@ -4361,10 +4370,17 @@ sap.ui.define([
4361
4370
  /**
4362
4371
  * Process a two-way binding change.
4363
4372
  *
4364
- * @param {string} sKey Key of the entity to change
4365
- * @param {object} oData The entry data
4366
- * @param {boolean} [sUpdateMethod] Sets <code>MERGE/PUT</code> method, defaults to <code>MERGE</code> if not provided
4367
- * @returns {object} The request object
4373
+ * @param {string} sKey
4374
+ * Key of the entity to change
4375
+ * @param {object} oData
4376
+ * The entry data
4377
+ * @param {boolean} [sUpdateMethod]
4378
+ * Sets <code>MERGE/PUT</code> method, defaults to <code>MERGE</code> if not provided
4379
+ * @param {string} [sDeepPath]
4380
+ * The deep path
4381
+ * @returns {object}
4382
+ * The request object
4383
+ *
4368
4384
  * @private
4369
4385
  */
4370
4386
  ODataModel.prototype._processChange = function(sKey, oData, sUpdateMethod, sDeepPath) {
@@ -5395,18 +5411,21 @@ sap.ui.define([
5395
5411
  delete mUrlParams.__metadata;
5396
5412
  delete mUrlParams["$result"];
5397
5413
  var oFunctionMetadata = this.oMetadata._getFunctionImportMetadata(sFunctionName, sMethod);
5398
- assert(oFunctionMetadata, this + ": Function " + sFunctionName + " not found in the metadata !");
5414
+ assert(oFunctionMetadata,
5415
+ this + ": Function " + sFunctionName + " not found in the metadata !");
5399
5416
  if (!oFunctionMetadata) {
5400
- return;
5417
+ return undefined;
5401
5418
  }
5402
5419
 
5403
5420
  if (oFunctionMetadata.parameter != null) {
5404
5421
  each(oFunctionMetadata.parameter, function (iIndex, oParam) {
5405
5422
  if (mUrlParams && mUrlParams[oParam.name] !== undefined) {
5406
- mUrlParams[oParam.name] = ODataUtils.formatValue(mUrlParams[oParam.name], oParam.type);
5423
+ mUrlParams[oParam.name] =
5424
+ ODataUtils.formatValue(mUrlParams[oParam.name], oParam.type);
5407
5425
  }
5408
5426
  });
5409
5427
  }
5428
+
5410
5429
  return mUrlParams;
5411
5430
  };
5412
5431
 
@@ -5571,17 +5590,20 @@ sap.ui.define([
5571
5590
  /**
5572
5591
  * Return the parsed XML metadata as a Javascript object.
5573
5592
  *
5574
- * Please note that the metadata is loaded asynchronously and this function might return undefined because the
5575
- * metadata has not been loaded yet.
5576
- * In this case attach to the <code>metadataLoaded</code> event to get notified when the metadata is available and then call this function.
5593
+ * Please note that the metadata is loaded asynchronously and this function might return
5594
+ * <code>undefined</code> because the metadata has not been loaded yet.
5595
+ * In this case attach to the <code>metadataLoaded</code> event to get notified when the
5596
+ * metadata is available and then call this function.
5577
5597
  *
5578
- * @return {Object} Metadata object
5598
+ * @return {Object|undefined} Metadata object
5579
5599
  * @public
5580
5600
  */
5581
5601
  ODataModel.prototype.getServiceMetadata = function() {
5582
5602
  if (this.oMetadata && this.oMetadata.isLoaded()) {
5583
5603
  return this.oMetadata.getServiceMetadata();
5584
5604
  }
5605
+
5606
+ return undefined;
5585
5607
  };
5586
5608
 
5587
5609
  /**
@@ -6453,16 +6475,19 @@ sap.ui.define([
6453
6475
  * @deprecated since 1.95.0; use {@link #resetChanges} instead
6454
6476
  */
6455
6477
  ODataModel.prototype.deleteCreatedEntry = function (oContext) {
6456
- var that = this, sKey, sGroupId;
6478
+ var sGroupId, sKey,
6479
+ that = this;
6480
+
6457
6481
  if (oContext) {
6458
- var sKey = oContext.getPath().substr(1);
6482
+ sKey = oContext.getPath().substr(1);
6459
6483
  sGroupId = this._resolveGroup(sKey).groupId;
6460
6484
  that.oMetadata.loaded().then(function() {
6461
6485
  that.abortInternalRequest(sGroupId, {requestKey: sKey});
6462
6486
  });
6463
6487
  that._removeEntity(sKey);
6464
6488
  //cleanup Messages for created Entry
6465
- sap.ui.getCore().getMessageManager().removeMessages(this.getMessagesByEntity(oContext.getPath(), true));
6489
+ sap.ui.getCore().getMessageManager().removeMessages(
6490
+ this.getMessagesByEntity(oContext.getPath(), true));
6466
6491
  }
6467
6492
  };
6468
6493
 
@@ -6754,7 +6779,19 @@ sap.ui.define([
6754
6779
  deepPath: sDeepPath
6755
6780
  };
6756
6781
  pCreate = new SyncPromise(function (resolve, reject) {
6757
- fnCreatedPromiseResolve = resolve;
6782
+ fnCreatedPromiseResolve = function () {
6783
+ if (!that.oCreatedContextsCache.getCacheInfo(oCreatedContext)) {
6784
+ // If ODataModel#createEntry is called by ODataListBinding#create, the
6785
+ // created context is added to the created contexts cache and has to keep
6786
+ // the create promise until the context gets removed from the cache, see
6787
+ // sap.ui.model.odata.v2._CreatedContextsCache#removePersistedContexts.
6788
+ // If the context is not in the cache ODataModel#createEntry has been called
6789
+ // directly and the create promise has to be reset after successful
6790
+ // creation.
6791
+ oCreatedContext.resetCreatedPromise();
6792
+ }
6793
+ resolve();
6794
+ };
6758
6795
  oEntity.__metadata.created.abort = reject;
6759
6796
  });
6760
6797
  pCreate.catch(function () {
@@ -6805,8 +6842,11 @@ sap.ui.define([
6805
6842
  } else if (this.oMetadata.isLoaded()) {
6806
6843
  return create();
6807
6844
  } else {
6808
- Log.error("Tried to use createEntry without created-callback, before metadata is available!");
6845
+ Log.error("Tried to use createEntry without created-callback, before metadata is "
6846
+ + "available!");
6809
6847
  }
6848
+
6849
+ return undefined;
6810
6850
  };
6811
6851
 
6812
6852
  /**
@@ -6860,7 +6900,7 @@ sap.ui.define([
6860
6900
  *
6861
6901
  * @param {string} sPath The binding path
6862
6902
  * @param {sap.ui.model.Context} [oContext] The binding context
6863
- * @param {boolean} Whether the binding path should be resolved canonical or not
6903
+ * @param {boolean} bCanonical Whether the binding path should be resolved canonical or not
6864
6904
  * @returns {string} The resolved path
6865
6905
  * @private
6866
6906
  */
@@ -7207,9 +7247,15 @@ sap.ui.define([
7207
7247
  /**
7208
7248
  * Gives the back-end response to the <code>MessageParser</code> in case there is one attached.
7209
7249
  *
7250
+ * @param {object} oResponse The response
7251
+ * @param {object} oRequest The request
7252
+ * @param {object} mGetEntities New entities from the response
7253
+ * @param {object} mChangeEntities Changed entities from the response
7254
+ *
7210
7255
  * @private
7211
7256
  */
7212
- ODataModel.prototype._parseResponse = function(oResponse, oRequest, mGetEntities, mChangeEntities) {
7257
+ ODataModel.prototype._parseResponse = function(oResponse, oRequest, mGetEntities,
7258
+ mChangeEntities) {
7213
7259
  try {
7214
7260
  if (!this.oMessageParser) {
7215
7261
  this.oMessageParser = new ODataMessageParser(this.sServiceUrl, this.oMetadata,
@@ -7217,7 +7263,8 @@ sap.ui.define([
7217
7263
  this.oMessageParser.setProcessor(this);
7218
7264
  }
7219
7265
  // Parse response and delegate messages to the set message parser
7220
- this.oMessageParser.parse(oResponse, oRequest, mGetEntities, mChangeEntities, this.bIsMessageScopeSupported);
7266
+ this.oMessageParser.parse(oResponse, oRequest, mGetEntities, mChangeEntities,
7267
+ this.bIsMessageScopeSupported);
7221
7268
  } catch (ex) {
7222
7269
  Log.error("Error parsing OData messages: " + ex);
7223
7270
  }
@@ -7294,7 +7341,9 @@ sap.ui.define([
7294
7341
  * @return {object} The nearest entity object or <code>null</code> if no entity can be resolved
7295
7342
  */
7296
7343
  ODataModel.prototype.getEntityByPath = function(sPath, oContext, oEntityInfo) {
7297
- var sResolvedPath = Model.prototype.resolve.call(this,sPath, oContext);
7344
+ var sKey,
7345
+ sResolvedPath = Model.prototype.resolve.call(this,sPath, oContext);
7346
+
7298
7347
  if (!sResolvedPath) {
7299
7348
  return null;
7300
7349
  }
@@ -7305,7 +7354,7 @@ sap.ui.define([
7305
7354
  var sEntryPath = aParts.join("/"),
7306
7355
  oObject = this._getObject(sEntryPath);
7307
7356
  if (isPlainObject(oObject)) {
7308
- var sKey = this._getKey(oObject);
7357
+ sKey = this._getKey(oObject);
7309
7358
  if (sKey) {
7310
7359
  oEntity = oObject;
7311
7360
  break;
@@ -7484,12 +7533,10 @@ sap.ui.define([
7484
7533
  sTargetPath = sPath + "/" + n;
7485
7534
  if (isPlainObject(oObject)) {
7486
7535
  this.decreaseLaundering(sTargetPath, oObject);
7487
- } else {
7488
- if (sTargetPath in this.mLaunderingState) {
7489
- this.mLaunderingState[sTargetPath]--;
7490
- if (this.mLaunderingState[sTargetPath] === 0) {
7491
- delete this.mLaunderingState[sTargetPath];
7492
- }
7536
+ } else if (sTargetPath in this.mLaunderingState) {
7537
+ this.mLaunderingState[sTargetPath]--;
7538
+ if (this.mLaunderingState[sTargetPath] === 0) {
7539
+ delete this.mLaunderingState[sTargetPath];
7493
7540
  }
7494
7541
  }
7495
7542
  }
@@ -7500,14 +7547,23 @@ sap.ui.define([
7500
7547
  };
7501
7548
 
7502
7549
  /**
7503
- * Returns bRefreshAfterChange value for a change operation based on refreshAfterChange parameter and global bRefreshAfterChange flag state
7550
+ * Returns bRefreshAfterChange value for a change operation based on
7551
+ * <code>refreshAfterChange</code> parameter and global <code>bRefreshAfterChange</code> flag
7552
+ * state.
7553
+ *
7554
+ * @param {boolean} bRefreshAfterChange
7555
+ * Value of the <code>refreshAfterChange</code> parameter of any change operation (for example
7556
+ * {@link #update})
7557
+ * @param {string} sGroupId
7558
+ * ID of the request group
7559
+ * @returns {boolean}
7560
+ * Whether to refresh after change
7504
7561
  *
7505
- * @param {boolean} bRefreshAfterChange Value of the <code>refreshAfterChange</code> parameter of any change operation (for example {@link #update})
7506
- * @param {string} sGroupId ID of the request group
7507
7562
  * @private
7508
7563
  */
7509
7564
  ODataModel.prototype._getRefreshAfterChange = function(bRefreshAfterChange, sGroupId) {
7510
- // If no bRefreshAfterChange parameter is given given and the request group is not deferred, use the global flag
7565
+ // If no bRefreshAfterChange parameter is given given and the request group is not deferred,
7566
+ // use the global flag
7511
7567
  if (bRefreshAfterChange === undefined && !(sGroupId in this.mDeferredGroups)) {
7512
7568
  return this.bRefreshAfterChange;
7513
7569
  }
@@ -7518,8 +7574,8 @@ sap.ui.define([
7518
7574
  * Get all messages for an entity path.
7519
7575
  *
7520
7576
  * @param {string} sEntity The entity path or key
7521
- * @param {boolean} bExcludePersistent If set to true, messages flagged as persistent are
7522
- * excluded.
7577
+ * @param {boolean} bExcludePersistent Whether persistent messages should be exluded
7578
+ * @returns {object[]|undefined} The messages for the entity
7523
7579
  * @private
7524
7580
  */
7525
7581
  ODataModel.prototype.getMessagesByEntity = function(sEntity, bExcludePersistent) {
@@ -7552,8 +7608,11 @@ sap.ui.define([
7552
7608
  };
7553
7609
 
7554
7610
  /**
7555
- * Check if Caching is supported. All urls must at least provide a 'sap-context-token' query parameter
7556
- * or a valid cache buster token segment.
7611
+ * Check if Caching is supported. All URLs must at least provide a 'sap-context-token' query
7612
+ * parameter or a valid cache buster token segment.
7613
+ *
7614
+ * @param {string} sMetadataUrl The metadata URL
7615
+ * @returns {boolean} Whether caching is supported
7557
7616
  *
7558
7617
  * @private
7559
7618
  */
@@ -7580,7 +7639,10 @@ sap.ui.define([
7580
7639
  };
7581
7640
 
7582
7641
  /**
7583
- * create cache key for annotations
7642
+ * Create cache key for annotations.
7643
+ *
7644
+ * @param {string} sMetadataUrl The metadata URL
7645
+ * @returns {string} The cache key
7584
7646
  *
7585
7647
  * @private
7586
7648
  */
@@ -7620,7 +7682,7 @@ sap.ui.define([
7620
7682
  /**
7621
7683
  * Decreases the internal deferred request counter, if the request is/was deferred.
7622
7684
  *
7623
- * @param {oRequest} Request, which was completed.
7685
+ * @param {object} oRequest The completed request
7624
7686
  */
7625
7687
  ODataModel.prototype._decreaseDeferredRequestCount = function(oRequest){
7626
7688
  if (oRequest.deferred){
@@ -7762,7 +7824,10 @@ sap.ui.define([
7762
7824
 
7763
7825
  /**
7764
7826
  * Checks whether canonical requests are necessary.
7765
- * @param {boolean} [bCanonicalRequest] is regarded with priority when checking whether canonical requests are required.
7827
+ * @param {boolean} [bCanonicalRequest]
7828
+ * Is regarded with priority when checking whether canonical requests are required
7829
+ *
7830
+ * @returns {boolean} Whether canonical requests are necessary
7766
7831
  */
7767
7832
  ODataModel.prototype._isCanonicalRequestNeeded = function(bCanonicalRequest){
7768
7833
  if (bCanonicalRequest !== undefined){