From 07293ff3eb8e48c5550f48dcc7f666a9e488ab9a Mon Sep 17 00:00:00 2001 From: ialbert Date: Mon, 17 Jul 2023 18:20:01 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-427=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=B2=20transacti?= =?UTF-8?q?onal=20Imdg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/ImdgTransactionalHazelcast.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java index bea20e676..c84cf4656 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgTransactionalHazelcast.java @@ -91,6 +91,29 @@ public class ImdgTransactionalHazelcast implements Im } } + @Override + public T getFirstObjectBySQL(String paramString) { + SqlPredicate sqlPredicate = new SqlPredicate(paramString); + Set found = map.keySet(sqlPredicate); + Iterator allFoundByCondition = found.iterator(); + if (allFoundByCondition.hasNext()) { + return map.get(allFoundByCondition.next()); + } else return null; + } + + @Override + public T getSingleObjectBySQL(String paramString) { + SqlPredicate sqlPredicate = new SqlPredicate(paramString); + Set found = map.keySet(sqlPredicate); + if (found.size() > 1) { + throw new RuntimeException("More than one element found by predicate " + paramString + " - " + found.size()); + } + Iterator allFoundByCondition = found.iterator(); + if (allFoundByCondition.hasNext()) { + return map.get(allFoundByCondition.next()); + } else return null; + } + @Override public Collection getCollectionObjectsBySQL(String paramString) { SqlPredicate sqlPredicate = new SqlPredicate(paramString);