/** * Convert all maps in the object to binders and do it recursively. * * @param object source map */ static public <T> T convertAllMapsToBinders(Object object) { if(object != null) { if (object instanceof List) { List list = (List) object; for (int i = 0; i < list.size(); i++) { list.set(i, convertAllMapsToBinders(list.get(i))); } } if (object instanceof Map) { object = Binder.from(object); Map map = (Map) object; for (Object key : map.keySet()) { map.replace(key, convertAllMapsToBinders(map.get(key))); } } } return (T) object; }
xstream.registerConverter(new MapEntryConverter()); xstream.alias(fieldName, Binder.class); data = Binder.convertAllMapsToBinders(xstream.fromXML(fields.get(fieldName))); } catch (Exception xmlEx) { try { Gson gson = new GsonBuilder().create(); data = Binder.convertAllMapsToBinders(gson.fromJson(fields.get(fieldName), Binder.class)); if (data.containsKey(fieldName)) data = (Binder) data.get(fieldName); try { Yaml yaml = new Yaml(); Object loaded = Binder.convertAllMapsToBinders(yaml.load(fields.get(fieldName))); if (loaded.getClass().equals(Binder.class)) { data = (Binder) loaded;
body = body.substring(body.indexOf("\r\n\r\n") + 4); Object jsonParams = JsonTool.fromJson(body); Binder b = Binder.convertAllMapsToBinders(jsonParams); result.putAll(b);
if (fileType == ContractFileTypes.YAML) { Yaml yaml = new Yaml(); binder = Binder.convertAllMapsToBinders(yaml.load(reader)); } else if (fileType == ContractFileTypes.JSON) { Gson gson = new GsonBuilder().create(); binder = Binder.convertAllMapsToBinders(gson.fromJson(reader, Binder.class)); } else { XStream xstream = new XStream(new DomDriver()); xstream.registerConverter(new MapEntryConverter()); xstream.alias("contract", Binder.class); binder = Binder.convertAllMapsToBinders(xstream.fromXML(reader));
Binder config = Binder.convertAllMapsToBinders(yaml.load(reader)); UUTNWallet wallet = new UUTNWallet(); wallet.path = walletPath;