From 16e3c8a67312b5761d677761e64ce63a19fe07e8 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 15 Aug 2016 12:36:48 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20API:=20=D0=9F?= =?UTF-8?q?=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=B8=D0=B7?= =?UTF-8?q?=20BundleContext=20=D1=81=D0=BE=20=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=BF=D0=BE-=D1=83=D0=BC?= =?UTF-8?q?=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Во-первых, так случалось, что при попытке получить не существующий параметр возникало исключение NullPointerException. А по логике, если параметр не найден, то надо бы и вернуть null, а не "ругаться в консоль". Во-вторых, в стандартном OSGi API не предусмотрено возвращение значения по-умолчанию. Эти две проблемы обновленный ASys API и решает. --- API/src/main/java/asys/api/ASysUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/API/src/main/java/asys/api/ASysUtils.java b/API/src/main/java/asys/api/ASysUtils.java index 40650b4..f354fed 100644 --- a/API/src/main/java/asys/api/ASysUtils.java +++ b/API/src/main/java/asys/api/ASysUtils.java @@ -21,6 +21,20 @@ public class ASysUtils { getCommandListByAnnotationMethods(scope, commnadsObject.getClass())); } + public static String GetProperty(BundleContext bundleContext, String name) { + return GetProperty(bundleContext, name, null); + } + + public static String GetProperty(BundleContext bundleContext, String name, String defaultValue) { + try { + String result = bundleContext.getProperty(name); + if (result == null) return defaultValue; + else return result; + } catch (NullPointerException e) { + return defaultValue; + } + } + private static Dictionary getCommandListByAnnotationMethods(String scope, Class clazz) { List listCommand = new Vector<>();