@@ -197,26 +197,29 @@ public List<String> entryList(int handle, String folder, String appid) {
197197 @ Override
198198 public byte [] readEntry (int handle , String folder , String key , String appid ) {
199199 var response = send ("readEntry" , "isss" , handle , folder , key , appid );
200- if (null == response ) {
201- return new byte [0 ];
202- } else {
203- var objectList = (List <?>) response [0 ];
204- var entry = new byte [objectList .size ()];
205- IntStream .range (0 , objectList .size ()).forEach (i -> entry [i ] = (Byte ) objectList .get (i ));
206- return entry ;
207- }
200+ return getBytes (response );
208201 }
209202
210203 @ Override
211204 public byte [] readMap (int handle , String folder , String key , String appid ) {
212205 var response = send ("readMap" , "isss" , handle , folder , key , appid );
206+ return getBytes (response );
207+ }
208+
209+ /**
210+ * Helper method to convert d-bus arg type "ay" (array of byte) into a byte[]
211+ *
212+ * @param response The b-bus reposnse to process
213+ * @return The data part of the response converted
214+ */
215+ private byte [] getBytes (Object [] response ) {
213216 if (null == response ) {
214217 return new byte [0 ];
215218 } else {
216219 var objectList = (List <?>) response [0 ];
217- var map = new byte [objectList .size ()];
218- IntStream .range (0 , objectList .size ()).forEach (i -> map [i ] = (Byte ) objectList .get (i ));
219- return map ;
220+ var entry = new byte [objectList .size ()];
221+ IntStream .range (0 , objectList .size ()).forEach (i -> entry [i ] = (Byte ) objectList .get (i ));
222+ return entry ;
220223 }
221224 }
222225
0 commit comments