String serializedRequest = BsbLanApiContentConverter.toJson(request);
// verify serialized content
- JsonParser parser = new JsonParser();
- JsonObject json = parser.parse(serializedRequest).getAsJsonObject();
+ JsonObject json = JsonParser.parseString(serializedRequest).getAsJsonObject();
// Although specifying the parameter as int (which would be nicer) also seems to work,
// we use a String here as this is the way it is noted in the documentation.
private final Logger logger = LoggerFactory.getLogger(SmartherApiConnector.class);
- private final JsonParser parser = new JsonParser();
private final HttpClient httpClient;
private final ScheduledExecutorService scheduler;
private String processErrorState(ContentResponse response)
throws SmartherTokenExpiredException, SmartherAuthorizationException, SmartherInvalidResponseException {
try {
- final JsonElement element = parser.parse(response.getContentAsString());
+ final JsonElement element = JsonParser.parseString(response.getContentAsString());
if (element.isJsonObject()) {
final JsonObject object = element.getAsJsonObject();
public static JsonObject toJsonObject(String jsonResponse) {
if (jsonResponse != null && !jsonResponse.trim().equals("")) {
try {
- return (JsonObject) new JsonParser().parse(jsonResponse);
+ return (JsonObject) JsonParser.parseString(jsonResponse);
} catch (JsonParseException e) {
LOGGER.error("An JsonParseException occurred by parsing jsonRequest: {}", jsonResponse, e);
}
private final EnturNoHandler handler;
private final HttpClient httpClient;
- private final JsonParser parser = new JsonParser();
private final Gson gson = new Gson();
public EnturNoConnection(EnturNoHandler handler, HttpClient httpClient) {
}
private String getErrorMessage(String response) {
- JsonObject jsonResponse = parser.parse(response).getAsJsonObject();
+ JsonObject jsonResponse = JsonParser.parseString(response).getAsJsonObject();
if (jsonResponse.has(PROPERTY_MESSAGE)) {
return jsonResponse.get(PROPERTY_MESSAGE).getAsString();
}
private String ipAddress;
// JSON variables
- private JsonParser parser = new JsonParser();
private Gson gson = new Gson();
private ScheduledFuture<?> logJob;
return;
}
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("initialize() Request : {}", systemTarget.resolveTemplate("ip", ipAddress)
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("subscribe() Request : {}",
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("unsubscribe() Request : {}",
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("pullLog() Request : {}",
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("getSwitches() Request : {}", switchTarget.resolveTemplate("ip", ipAddress)
getThing().getUID().toString());
String result = jsonObject.get("result").toString();
result = result.replace("switch", "id");
- JsonObject js = parser.parse(result).getAsJsonObject();
+ JsonObject js = JsonParser.parseString(result).getAsJsonObject();
RESTSwitch[] switchArray = gson.fromJson(js.getAsJsonArray("ides"), RESTSwitch[].class);
if (switchArray != null) {
return Arrays.asList(switchArray);
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("triggerSwitch() Request : {}",
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("enableSwitch() Request : {}",
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("getPorts() Request : {}", portTarget.resolveTemplate("ip", ipAddress)
}
if (response != null) {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
if (logger.isTraceEnabled()) {
logger.trace("configureRunnable Request : {}", systemTarget.resolveTemplate("ip", ipAddress)
return super.doNetwork(address, requestMethod, body);
} else {
String extractedAddress = Util.quickMatch("^http://[^/]+(.+)$", address);
- JsonElement commandBody = new JsonParser().parse(body);
+ JsonElement commandBody = body == null ? null : JsonParser.parseString(body);
scheduleCommand = new ScheduleCommand(extractedAddress, requestMethod, commandBody);
// Return a fake result that will cause an exception and the callback to end
}
private void assertJson(String expected, String actual) {
- JsonParser parser = new JsonParser();
- JsonElement jsonExpected = parser.parse(expected);
- JsonElement jsonActual = parser.parse(actual);
+ JsonElement jsonExpected = JsonParser.parseString(expected);
+ JsonElement jsonActual = JsonParser.parseString(actual);
assertEquals(jsonExpected, jsonActual);
}
}
@SuppressWarnings("null")
@Override
protected void resolveData(String response) {
- JsonElement iammeterDataElement = new JsonParser().parse(response);
+ JsonElement iammeterDataElement = JsonParser.parseString(response);
JsonObject iammeterData = iammeterDataElement.getAsJsonObject();
String keyWord = "Datas";
if (iammeterData.has("Datas") && iammeterData.has("SN")) {
@Override
protected void resolveData(String response) {
- JsonElement iammeterDataElement = new JsonParser().parse(response);
+ JsonElement iammeterDataElement = JsonParser.parseString(response);
JsonObject iammeterData = iammeterDataElement.getAsJsonObject();
String keyWord = "Data";
if (iammeterData.has("data") || (iammeterData.has("Data") && iammeterData.has("SN"))) {
private final Logger logger = LoggerFactory.getLogger(KeContactHandler.class);
- protected final JsonParser parser = new JsonParser();
private final KeContactTransceiver transceiver;
private ScheduledFuture<?> pollingJob;
}
try {
- JsonObject readObject = parser.parse(response).getAsJsonObject();
+ JsonObject readObject = JsonParser.parseString(response).getAsJsonObject();
for (Entry<String, JsonElement> entry : readObject.entrySet()) {
switch (entry.getKey()) {
public class KM200Device {
private final Logger logger = LoggerFactory.getLogger(KM200Device.class);
- private final JsonParser jsonParser = new JsonParser();
private final KM200Cryption comCryption;
private final KM200Comm<KM200Device> deviceCommunicator;
logger.debug("{}: SERVICE NOT AVAILABLE", service);
return null;
} else {
- nodeRoot = (JsonObject) jsonParser.parse(decodedData);
+ nodeRoot = (JsonObject) JsonParser.parseString(decodedData);
}
} else {
logger.debug("Get empty reply");
@NonNullByDefault
public class KM200DataHandler {
private final Logger logger = LoggerFactory.getLogger(KM200DataHandler.class);
- private final JsonParser jsonParser = new JsonParser();
private final KM200Device remoteDevice;
/* The JSONArray of switch items can be send directly */
try {
/* Check whether this input string is a valid JSONArray */
- JsonArray userArray = (JsonArray) jsonParser.parse(val);
+ JsonArray userArray = (JsonArray) JsonParser.parseString(val);
newObject = userArray.getAsJsonObject();
} catch (JsonParseException e) {
logger.warn("The input for the switchProgram is not a valid JSONArray : {}",
private boolean connected = false;
- private final JsonParser parser = new JsonParser();
private final Gson mapper = new Gson();
private final URI uri;
private final WebSocketClient client;
@OnWebSocketMessage
public void onMessage(String message) {
logger.trace("Message received from server: {}", message);
- final JsonObject json = parser.parse(message).getAsJsonObject();
+ final JsonObject json = JsonParser.parseString(message).getAsJsonObject();
if (json.has("id")) {
int messageId = json.get("id").getAsInt();
if (messageId == nextMessageId - 1) {
String getAuthenticateResponse = httpClient.GET(urlLogin).getContentAsString();
try {
- JsonObject getAuthenticateResponseJsonObject = (JsonObject) new JsonParser()
- .parse(transformJsonResponse(getAuthenticateResponse));
+ JsonObject getAuthenticateResponseJsonObject = (JsonObject) JsonParser
+ .parseString(transformJsonResponse(getAuthenticateResponse));
sessionId = extractSessionId(getAuthenticateResponseJsonObject);
- JsonObject authenticateJsonObject = new JsonParser().parse(getAuthenticateResponse.toString())
+ JsonObject authenticateJsonObject = JsonParser.parseString(getAuthenticateResponse.toString())
.getAsJsonObject();
salt = authenticateJsonObject.get("salt").getAsString();
String loginPostResponse = new String(loginPostJsonDataContentResponse.getContent(),
StandardCharsets.UTF_8);
- JsonObject loginPostJsonObject = (JsonObject) new JsonParser()
- .parse(transformJsonResponse(loginPostResponse));
+ JsonObject loginPostJsonObject = (JsonObject) JsonParser
+ .parseString(transformJsonResponse(loginPostResponse));
sessionId = extractSessionId(loginPostJsonObject);
@ActionInput(name = "appId", label = "@text/actionLaunchApplicationInputAppIDLabel", description = "@text/actionLaunchApplicationInputAppIDDesc") String appId,
@ActionInput(name = "params", label = "@text/actionLaunchApplicationInputParamsLabel", description = "@text/actionLaunchApplicationInputParamsDesc") String params) {
try {
- JsonParser parser = new JsonParser();
- JsonObject payload = (JsonObject) parser.parse(params);
+ JsonObject payload = (JsonObject) JsonParser.parseString(params);
Optional<AppInfo> appInfo = getAppInfos().stream().filter(a -> a.getId().equals(appId)).findFirst();
if (appInfo.isPresent()) {
logger.trace("Received message: {}", msg);
try {
- JsonObject message = (JsonObject) new JsonParser().parse(msg);
+ JsonObject message = (JsonObject) JsonParser.parseString(msg);
if (!message.has("CommuniqueType")) {
logger.debug("No CommuniqueType found in message: {}", msg);
@Override
public void onApplianceStateChanged(String UID, DeviceClassObject dco) {
- String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ String myUID = (getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);
String modelID = StringUtils.right(dco.DeviceClass,
dco.DeviceClass.length() - new String("com.miele.xgw3000.gateway.hdm.deviceclasses.Miele").length());
@Override
public void onAppliancePropertyChanged(String UID, DeviceProperty dp) {
- String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ String myUID = (getThing().getProperties().get(PROTOCOL_PROPERTY_NAME))
+ (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID);
if (myUID.equals(UID)) {
if (dp.Metadata == null) {
String metadata = metaDataCache.get(new StringBuilder().append(dp.Name).toString().trim());
if (metadata != null) {
- JsonParser parser = new JsonParser();
- JsonObject jsonMetaData = (JsonObject) parser.parse(metadata);
+ JsonObject jsonMetaData = (JsonObject) JsonParser.parseString(metadata);
dmd = gson.fromJson(jsonMetaData, DeviceMetaData.class);
// only keep the enum, if any - that's all we care for events we receive via multicast
// all other fields are nulled
}
if (dp.Metadata != null) {
String metadata = StringUtils.replace(dp.Metadata.toString(), "enum", "MieleEnum");
- JsonParser parser = new JsonParser();
- JsonObject jsonMetaData = (JsonObject) parser.parse(metadata);
+ JsonObject jsonMetaData = (JsonObject) JsonParser.parseString(metadata);
dmd = gson.fromJson(jsonMetaData, DeviceMetaData.class);
metaDataCache.put(new StringBuilder().append(dp.Name).toString().trim(), metadata);
}
if (responseData != null) {
logger.debug("The request '{}' yields '{}'", requestData, responseData);
- JsonParser parser = new JsonParser();
- JsonObject resp = (JsonObject) parser.parse(new StringReader(responseData));
+ JsonObject resp = (JsonObject) JsonParser.parseReader(new StringReader(responseData));
result = resp.get("result");
JsonElement error = resp.get("error");
private static final String NO = "no";
public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_BRIDGE);
- private static final JsonParser PARSER = new JsonParser();
private static final EncryptionHelper CRYPTER = new EncryptionHelper();
private static Map<String, JsonObject> retentionInbox = new ConcurrentHashMap<>();
}
break;
case "get_id_list_ack":
- JsonArray devices = PARSER.parse(message.get("data").getAsString()).getAsJsonArray();
+ JsonArray devices = JsonParser.parseString(message.get("data").getAsString()).getAsJsonArray();
for (JsonElement deviceId : devices) {
String device = deviceId.getAsString();
sendCommandToBridge("read", device);
private static final long ONLINE_TIMEOUT_MILLIS = TimeUnit.HOURS.toMillis(2);
private ScheduledFuture<?> onlineCheckTask;
- private JsonParser parser = new JsonParser();
-
private XiaomiBridgeHandler bridgeHandler;
private String itemId;
}
logger.debug("Item got update: {}", message);
try {
- JsonObject data = parser.parse(message.get("data").getAsString()).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(message.get("data").getAsString()).getAsJsonObject();
parseCommand(command, data);
if (THING_TYPE_BASIC.equals(getThing().getThingTypeUID())) {
parseDefault(message);
static final String MCAST_ADDR = "224.0.0.50";
private static final int BUFFER_LENGTH = 1024;
- private static final JsonParser PARSER = new JsonParser();
private final Logger logger = LoggerFactory.getLogger(XiaomiSocket.class);
logger.debug("Received Datagram from {}:{} on port {}", address.getHostAddress(),
datagramPacket.getPort(), localPort);
String sentence = new String(datagramPacket.getData(), 0, datagramPacket.getLength());
- JsonObject message = PARSER.parse(sentence).getAsJsonObject();
+ JsonObject message = JsonParser.parseString(sentence).getAsJsonObject();
notifyListeners(message, address);
logger.trace("Data received and notified {} listeners", listeners.size());
}
public static JsonObject convertFileToJSON(URL fileName) throws JsonIOException, JsonSyntaxException,
JsonParseException, IOException, URISyntaxException, NoSuchFileException {
JsonObject jsonObject = new JsonObject();
- JsonParser parser = new JsonParser();
try (InputStream inputStream = fileName.openStream();
InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8)) {
- JsonElement jsonElement = parser.parse(reader);
+ JsonElement jsonElement = JsonParser.parseReader(reader);
jsonObject = jsonElement.getAsJsonObject();
return jsonObject;
}
private static final TimeZone TZ = TimeZone.getDefault();
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("OOOO");
private static final Gson GSON = new GsonBuilder().serializeNulls().create();
- private static final JsonParser PARSER = new JsonParser();
private final String clientId;
logger.trace("response: {}", mapResponse);
String errorMsg = "";
try {
- JsonElement response = PARSER.parse(mapResponse);
+ JsonElement response = JsonParser.parseString(mapResponse);
if (response.isJsonObject()) {
logger.debug("Received JSON message {}", response);
if (response.getAsJsonObject().has("result")
final String response = getDeviceString(country);
List<CloudDeviceDTO> devicesList = new ArrayList<>();
try {
- final JsonElement resp = PARSER.parse(response);
+ final JsonElement resp = JsonParser.parseString(response);
if (resp.isJsonObject()) {
final JsonObject jor = resp.getAsJsonObject();
if (jor.has("result")) {
logger.trace("Xiaomi Login step 1 content response= {}", content);
logger.trace("Xiaomi Login step 1 response = {}", responseStep1);
try {
- JsonElement resp = new JsonParser().parse(parseJson(content));
+ JsonElement resp = JsonParser.parseString(parseJson(content));
if (resp.isJsonObject() && resp.getAsJsonObject().has("_sign")) {
String sign = resp.getAsJsonObject().get("_sign").getAsString();
logger.trace("Xiaomi Login step 1 sign = {}", sign);
logger.trace("Xiaomi login step 2 response = {}", responseStep2);
logger.trace("Xiaomi login step 2 content = {}", content2);
- JsonElement resp2 = new JsonParser().parse(parseJson(content2));
+ JsonElement resp2 = JsonParser.parseString(parseJson(content2));
CloudLoginDTO jsonResp = GSON.fromJson(resp2, CloudLoginDTO.class);
if (jsonResp == null) {
throw new MiCloudException("Error getting logon details from step 2: " + content2);
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
/**
* The {@link MiIoAbstractHandler} is responsible for handling commands, which are
protected MiIoDevices miDevice = MiIoDevices.UNKNOWN;
protected boolean isIdentified;
- protected final JsonParser parser = new JsonParser();
protected byte[] token = new byte[0];
protected @Nullable MiIoBindingConfiguration configuration;
import com.google.gson.JsonElement;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSyntaxException;
private void updatePropsFromJsonArray(MiIoSendCommand response) {
JsonArray res = response.getResult().getAsJsonArray();
- JsonArray para = parser.parse(response.getCommandString()).getAsJsonObject().get("params").getAsJsonArray();
+ JsonArray para = JsonParser.parseString(response.getCommandString()).getAsJsonObject().get("params")
+ .getAsJsonArray();
if (res.size() != para.size()) {
logger.debug("Unexpected size different. Request size {}, response size {}. (Req: {}, Resp:{})",
para.size(), res.size(), para, res);
private AtomicInteger id = new AtomicInteger(-1);
private int timeDelta;
private int timeStamp;
- private final JsonParser parser;
private @Nullable MessageSenderThread senderThread;
private boolean connected;
private ThingStatusDetail status = ThingStatusDetail.NONE;
this.timeout = timeout;
this.cloudConnector = cloudConnector;
setId(id);
- parser = new JsonParser();
startReceiver();
}
}
fullCommand.addProperty("id", cmdId);
fullCommand.addProperty("method", command);
- fullCommand.add("params", parser.parse(params));
+ fullCommand.add("params", JsonParser.parseString(params));
MiIoSendCommand sendCmd = new MiIoSendCommand(cmdId, MiIoCommand.getCommand(command), fullCommand,
cloudServer);
concurrentLinkedQueue.add(sendCmd);
// hack due to avoid invalid json errors from some misbehaving device firmwares
decryptedResponse = decryptedResponse.replace(",,", ",");
JsonElement response;
- response = parser.parse(decryptedResponse);
+ response = JsonParser.parseString(decryptedResponse);
if (!response.isJsonObject()) {
errorMsg = "Received message is not a JSON object ";
} else {
JsonObject jsonObject = new JsonObject();
try {
- JsonParser parser = new JsonParser();
- JsonElement jsonElement = parser.parse(new FileReader(fileName));
+ JsonElement jsonElement = JsonParser.parseReader(new FileReader(fileName));
jsonObject = jsonElement.getAsJsonObject();
} catch (FileNotFoundException e) {
//
public final class RequestLogger {
private final Logger logger = LoggerFactory.getLogger(RequestLogger.class);
private final AtomicLong nextId = new AtomicLong();
- private final JsonParser parser;
private final Gson gson;
private final String prefix;
public RequestLogger(final String prefix, final Gson gson) {
- this.parser = new JsonParser();
this.gson = gson;
this.prefix = prefix;
}
private String reformatJson(final String jsonString) {
try {
- final JsonElement json = parser.parse(jsonString);
+ final JsonElement json = JsonParser.parseString(jsonString);
return gson.toJson(json);
} catch (final JsonSyntaxException e) {
logger.debug("Could not reformat malformed JSON due to '{}'", e.getMessage());
<version>1.8</version>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.8.5</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
<build>
public static ControllerVariables parse(String response) {
LOGGER.debug("Parsing string: \"{}\"", response);
/* parse json string */
- JsonObject jsonObject = new JsonParser().parse(response).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject();
ControllerVariables info = new ControllerVariables();
info.dist = jsonObject.get("dist").getAsInt();
info.door = jsonObject.get("door").getAsInt();
* @author Chris Graham - Initial contribution
*/
public class Parse {
- private static JsonParser jsonParser = new JsonParser();
-
/**
* Parses an integer from a JSON string given its key name.
*
* @return int value of the objects data.
*/
public static int jsonInt(String jsonData, String keyName) {
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
return jobject.get(keyName).getAsInt();
}
* @return String value of the objects data.
*/
public static String jsonString(String jsonData, String keyName) {
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
return jobject.get(keyName).getAsString();
}
* @return int value of the objects data.
*/
public static int jsonIntAtArrayIndex(String jsonData, String keyName, int index) {
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
JsonArray jarray = jobject.get(keyName).getAsJsonArray();
return jarray.get(index).getAsInt();
* @return String value of the objects data.
*/
public static String jsonStringAtArrayIndex(String jsonData, String keyName, int index) {
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
JsonArray jarray = jobject.get(keyName).getAsJsonArray();
return jarray.get(index).getAsString();
public static List<Integer> jsonIntArray(String jsonData, String keyName) {
List<Integer> returnList = new ArrayList<>();
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
JsonArray jarray = jobject.get(keyName).getAsJsonArray();
public static List<String> jsonStringArray(String jsonData, String keyName) {
List<String> returnList = new ArrayList<>();
- JsonElement jelement = jsonParser.parse(jsonData);
+ JsonElement jelement = JsonParser.parseString(jsonData);
JsonObject jobject = jelement.getAsJsonObject();
JsonArray jarray = jobject.get(keyName).getAsJsonArray();
private static final ByteArrayFileCache IMAGE_CACHE = new ByteArrayFileCache("org.openhab.binding.openweathermap");
private final ExpiringCacheMap<String, String> cache;
- private final JsonParser parser = new JsonParser();
private final Gson gson = new Gson();
public OpenWeatherMapConnection(OpenWeatherMapAPIHandler handler, HttpClient httpClient) {
}
private String getErrorMessage(String response) {
- JsonElement jsonResponse = parser.parse(response);
+ JsonElement jsonResponse = JsonParser.parseString(response);
if (jsonResponse.isJsonObject()) {
JsonObject json = jsonResponse.getAsJsonObject();
if (json.has(PROPERTY_MESSAGE)) {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
private static final int TOKEN_MIN_DIFF_MS = (int) TimeUnit.DAYS.toMillis(2);
- private final JsonParser jsonParser = new JsonParser();
private @NonNullByDefault({}) String authToken;
private int refreshInterval;
InputStream content = new ByteArrayInputStream(httpBody.toString().getBytes(StandardCharsets.UTF_8));
String urlResponse = HttpUtil.executeUrl("POST", url, urlHeader, content, "application/json", 2000);
- JsonObject responseJson = (JsonObject) jsonParser.parse(urlResponse);
+ JsonObject responseJson = (JsonObject) JsonParser.parseString(urlResponse);
if (responseJson.has(AUTH_TOKEN)) {
// Store the expire date for automatic token refresh
private final GsonBuilder gsonBuilder = new GsonBuilder().registerTypeAdapter(ReadingInstance.class,
new CustomReadingInstanceDeserializer());
private final Gson gson = gsonBuilder.create();
- private final JsonParser jsonParser = new JsonParser();
private @NonNullByDefault({}) String resourceID;
private @NonNullByDefault({}) String meterID;
urlHeader.put("Authorization", token);
String urlResponse = HttpUtil.executeUrl("GET", url, urlHeader, null, null, 2000);
- JsonObject responseJson = (JsonObject) jsonParser.parse(urlResponse);
+ JsonObject responseJson = (JsonObject) JsonParser.parseString(urlResponse);
if (responseJson.has("meter_id")) {
setMeterID(responseJson.get("meter_id").toString());
String urlResponse = HttpUtil.executeUrl("GET", url, urlHeader, null, null, 2000);
- ReadingInstance latestReading = gson.fromJson(new JsonParser().parse(urlResponse), ReadingInstance.class);
+ ReadingInstance latestReading = gson.fromJson(JsonParser.parseString(urlResponse), ReadingInstance.class);
return new MeterState(Objects.requireNonNull(latestReading));
} catch (IOException e) {
private final ExpiringCacheMap<String, String> cache = new ExpiringCacheMap<>(TimeUnit.DAYS.toMillis(1));
- private final JsonParser parser = new JsonParser();
-
public PushoverAPIConnection(HttpClient httpClient, PushoverAccountConfiguration config) {
this.httpClient = httpClient;
this.config = config;
public String sendPriorityMessage(PushoverMessageBuilder message)
throws PushoverCommunicationException, PushoverConfigurationException {
- final JsonObject json = parser.parse(post(MESSAGE_URL, message.build())).getAsJsonObject();
+ final JsonObject json = JsonParser.parseString(post(MESSAGE_URL, message.build())).getAsJsonObject();
return getMessageStatus(json) && json.has("receipt") ? json.get("receipt").getAsString() : "";
}
params.put(PushoverMessageBuilder.MESSAGE_KEY_TOKEN, localApikey);
// TODO do not cache the response, cache the parsed list of sounds
- final JsonObject json = parser.parse(getFromCache(buildURL(SOUNDS_URL, params))).getAsJsonObject();
- if (json.has("sounds")) {
- final JsonObject sounds = json.get("sounds").getAsJsonObject();
- if (sounds != null) {
- return Collections.unmodifiableList(sounds.entrySet().stream()
+ final String content = getFromCache(buildURL(SOUNDS_URL, params));
+ final JsonObject json = content == null ? null : JsonParser.parseString(content).getAsJsonObject();
+ final JsonObject sounds = json == null || !json.has("sounds") ? null : json.get("sounds").getAsJsonObject();
+
+ return sounds == null ? List.of()
+ : Collections.unmodifiableList(sounds.entrySet().stream()
.map(entry -> new Sound(entry.getKey(), entry.getValue().getAsString()))
.collect(Collectors.toList()));
- }
- }
- return Collections.emptyList();
}
private String buildURL(String url, Map<String, String> requestParams) {
}
private String getMessageError(String content) {
- final JsonObject json = parser.parse(content).getAsJsonObject();
+ final JsonObject json = JsonParser.parseString(content).getAsJsonObject();
if (json.has("errors")) {
final JsonArray errors = json.get("errors").getAsJsonArray();
if (errors != null) {
}
private boolean getMessageStatus(String content) {
- final JsonObject json = parser.parse(content).getAsJsonObject();
+ final JsonObject json = JsonParser.parseString(content).getAsJsonObject();
return json.has("status") ? json.get("status").getAsInt() == 1 : false;
}
/**
* The {@link RadioThermostatDiscoveryService} is responsible for discovery of
* RadioThermostats on the local network
- *
+ *
* @author William Welliver - Initial contribution
* @author Dan Cunningham - Refactoring and Improvements
* @author Bill Forsyth - Modified for the RadioThermostat's peculiar discovery mode
* @author Michael Lobstein - Cleanup for RadioThermostat
- *
+ *
*/
@NonNullByDefault
try {
// Run the HTTP request and get the JSON response from the thermostat
sysinfo = HttpUtil.executeUrl("GET", url, 20000);
- content = new JsonParser().parse(sysinfo).getAsJsonObject();
+ content = JsonParser.parseString(sysinfo).getAsJsonObject();
uuid = content.get("uuid").getAsString();
} catch (IOException | JsonSyntaxException e) {
logger.debug("Cannot get system info from thermostat {} {}", ip, e.getMessage());
try {
String nameinfo = HttpUtil.executeUrl("GET", url + "name", 20000);
- content = new JsonParser().parse(nameinfo).getAsJsonObject();
+ content = JsonParser.parseString(nameinfo).getAsJsonObject();
name = content.get("name").getAsString();
} catch (IOException | JsonSyntaxException e) {
logger.debug("Cannot get name from thermostat {} {}", ip, e.getMessage());
public AtomicReference<String> read(JsonReader in) throws IOException {
AtomicReference<String> value = null;
- JsonParser jsonParser = new JsonParser();
- JsonElement je = jsonParser.parse(in);
+ JsonElement je = JsonParser.parseReader(in);
if (je instanceof JsonPrimitive) {
value = new AtomicReference<>();
public final class RequestLogger {
private final Logger logger = LoggerFactory.getLogger(RequestLogger.class);
private final AtomicLong nextId = new AtomicLong();
- private final JsonParser parser;
private final Gson gson;
private final String prefix;
public RequestLogger(final String prefix, final Gson gson) {
- parser = new JsonParser();
this.gson = gson;
this.prefix = prefix;
}
private String reformatJson(final String jsonString) {
try {
- final JsonElement json = parser.parse(jsonString);
+ final JsonElement json = JsonParser.parseString(jsonString);
return gson.toJson(json);
} catch (final JsonSyntaxException e) {
logger.debug("Could not reformat malformed JSON due to '{}'", e.getMessage());
public static String API_ENDPOINT = "https://home.sensibo.com/api";
private final Logger logger = LoggerFactory.getLogger(SensiboAccountHandler.class);
private final HttpClient httpClient;
- private final JsonParser jsonParser = new JsonParser();
private final RequestLogger requestLogger;
private final Gson gson;
private SensiboModel model = new SensiboModel(0);
final ContentResponse contentResponse = request.send();
final String responseJson = contentResponse.getContentAsString();
if (contentResponse.getStatus() == HttpStatus.OK_200) {
- final JsonObject o = jsonParser.parse(responseJson).getAsJsonObject();
+ final JsonObject o = JsonParser.parseString(responseJson).getAsJsonObject();
final String overallStatus = o.get("status").getAsString();
if ("success".equals(overallStatus)) {
return gson.fromJson(o.get("result"), responseType);
*/
package org.openhab.binding.sensibo.internal;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.lang.reflect.Type;
final String json = new String(WireHelper.class.getResourceAsStream(jsonClasspathName).readAllBytes(),
StandardCharsets.UTF_8);
- final JsonParser parser = new JsonParser();
- final JsonObject o = parser.parse(json).getAsJsonObject();
+ final JsonObject o = JsonParser.parseString(json).getAsJsonObject();
assertEquals("success", o.get("status").getAsString());
return gson.fromJson(o.get("result"), type);
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
-import com.google.gson.internal.Primitives;
/**
* {@link ShellyUtils} provides general utility functions
}
if (classOfT.isInstance(json)) {
- return Primitives.wrap(classOfT).cast(json);
+ return wrap(classOfT).cast(json);
} else if (json.isEmpty()) { // update GSON might return null
throw new ShellyApiException(PRE + className + "from empty JSON");
} else {
}
}
+ private static <T> Class<T> wrap(Class<T> type) {
+ if (type == int.class) {
+ return (Class<T>) Integer.class;
+ }
+ if (type == float.class) {
+ return (Class<T>) Float.class;
+ }
+ if (type == byte.class) {
+ return (Class<T>) Byte.class;
+ }
+ if (type == double.class) {
+ return (Class<T>) Double.class;
+ }
+ if (type == long.class) {
+ return (Class<T>) Long.class;
+ }
+ if (type == char.class) {
+ return (Class<T>) Character.class;
+ }
+ if (type == boolean.class) {
+ return (Class<T>) Boolean.class;
+ }
+ if (type == short.class) {
+ return (Class<T>) Short.class;
+ }
+ if (type == void.class) {
+ return (Class<T>) Void.class;
+ }
+ return type;
+ }
+
public static String mkChannelId(String group, String channel) {
return group + "#" + channel;
}
@NonNullByDefault
public class Parser {
- private static JsonParser parser = new JsonParser();
-
/**
* Parse a json string received from Smhi containing forecasts.
*
*/
public static TimeSeries parseTimeSeries(String json) {
ZonedDateTime referenceTime;
- JsonObject object = parser.parse(json).getAsJsonObject();
+ JsonObject object = JsonParser.parseString(json).getAsJsonObject();
referenceTime = parseApprovedTime(json);
JsonArray timeSeries = object.get("timeSeries").getAsJsonArray();
* @return {@link ZonedDateTime} of the reference time
*/
public static ZonedDateTime parseApprovedTime(String json) {
- JsonObject timeObj = parser.parse(json).getAsJsonObject();
+ JsonObject timeObj = JsonParser.parseString(json).getAsJsonObject();
return ZonedDateTime.parse(timeObj.get("referenceTime").getAsString());
}
logger.debug("Attempting to load data from {} with parameter {}", url, content);
String response = HttpUtil.executeUrl(httpMethod, url, stream, null, timeout);
- JsonElement solarLogDataElement = new JsonParser().parse(response);
+ JsonElement solarLogDataElement = JsonParser.parseString(response);
JsonObject solarLogData = solarLogDataElement.getAsJsonObject();
// Check whether the data is well-formed
}
private <T extends SomfyMyLinkResponseBase> T parseResponse(Reader reader, Class<T> responseType) {
- JsonParser parser = new JsonParser();
- JsonObject jsonObj = parser.parse(gson.newJsonReader(reader)).getAsJsonObject();
+ JsonObject jsonObj = JsonParser.parseReader(gson.newJsonReader(reader)).getAsJsonObject();
logger.debug("Got full message: {}", jsonObj.toString());
private final URI uri;
private Session session;
- private final JsonParser parser = new JsonParser();
private final Gson mapper;
private static int ping = 0;
public void onMessage(String message) {
logger.debug("Message received from server: {}", message);
try {
- final JsonObject json = parser.parse(message).getAsJsonObject();
+ final JsonObject json = JsonParser.parseString(message).getAsJsonObject();
if (json.has("id")) {
logger.debug("Response received from server: {}", json);
int messageId = json.get("id").getAsInt();
private final Logger logger = LoggerFactory.getLogger(SpotifyConnector.class);
- private final JsonParser parser = new JsonParser();
private final HttpClient httpClient;
private final ScheduledExecutorService scheduler;
*/
private String processErrorState(ContentResponse response) {
try {
- final JsonElement element = parser.parse(response.getContentAsString());
+ final JsonElement element = JsonParser.parseString(response.getContentAsString());
if (element.isJsonObject()) {
final JsonObject object = element.getAsJsonObject();
String url = "http://" + ip + ":" + webPort + "/jsonrpc.js";
String json = HttpUtils.post(url, JSON_REQ);
logger.trace("Recieved json from server {}", json);
- JsonElement resp = new JsonParser().parse(json);
+ JsonElement resp = JsonParser.parseString(json);
String cliPort = resp.getAsJsonObject().get("result").getAsJsonObject().get("_p2").getAsString();
return Integer.parseInt(cliPort);
}
*/
private JsonElement getDataFromApi(String url) throws SurePetcareApiException {
String apiResult = getResultFromApi(url);
- JsonParser parser = new JsonParser();
- JsonObject object = (JsonObject) parser.parse(apiResult);
+ JsonObject object = (JsonObject) JsonParser.parseString(apiResult);
return object.get("data");
}
protected ReentrantLock lock;
private final Gson gson = new Gson();
- private final JsonParser parser = new JsonParser();
private TokenResponse logonToken;
private final Set<VehicleListener> vehicleListeners = new HashSet<>();
return null;
}
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
Vehicle[] vehicleArray = gson.fromJson(jsonObject.getAsJsonArray("response"), Vehicle[].class);
for (Vehicle vehicle : vehicleArray) {
}
try {
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
logger.trace("Request : {}:{}:{} yields {}", command, payLoad, target, jsonObject.get("response"));
return jsonObject.get("response").toString();
} catch (Exception e) {
protected ScheduledFuture<?> slowStateJob;
private final Gson gson = new Gson();
- private final JsonParser parser = new JsonParser();
public TeslaVehicleHandler(Thing thing, ClientBuilder clientBuilder) {
super(thing);
return null;
}
- JsonObject jsonObject = parser.parse(response.readEntity(String.class)).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(response.readEntity(String.class)).getAsJsonObject();
Vehicle[] vehicleArray = gson.fromJson(jsonObject.getAsJsonArray("response"), Vehicle[].class);
for (Vehicle vehicle : vehicleArray) {
break;
}
default: {
- jsonObject = parser.parse(result).getAsJsonObject();
+ jsonObject = JsonParser.parseString(result).getAsJsonObject();
break;
}
}
String jsonResponse = HttpUtil.executeUrl("POST", BASE_URL, httpHeader, inputStream, null,
REQUEST_TIMEOUT);
- JsonObject object = (JsonObject) new JsonParser().parse(jsonResponse);
+ JsonObject object = (JsonObject) JsonParser.parseString(jsonResponse);
rtEnabled = object.getAsJsonObject("data").getAsJsonObject("viewer").getAsJsonObject("home")
.getAsJsonObject("features").get("realTimeConsumptionEnabled").toString();
updateStatus(ThingStatus.ONLINE);
}
- JsonObject object = (JsonObject) new JsonParser().parse(jsonResponse);
+ JsonObject object = (JsonObject) JsonParser.parseString(jsonResponse);
if (jsonResponse.contains("total")) {
try {
logger.debug("Error/terminate received from server: {}", message);
close();
} else if (message.contains("liveMeasurement")) {
- JsonObject object = (JsonObject) new JsonParser().parse(message);
+ JsonObject object = (JsonObject) JsonParser.parseString(message);
JsonObject myObject = object.getAsJsonObject("payload").getAsJsonObject("data")
.getAsJsonObject("liveMeasurement");
if (myObject.has("timestamp")) {
@OnWebSocketMessage
public void onMessage(String msg) {
TouchWandUnitData touchWandUnit;
- JsonParser jsonParser = new JsonParser();
try {
- JsonObject unitObj = jsonParser.parse(msg).getAsJsonObject();
+ JsonObject unitObj = JsonParser.parseString(msg).getAsJsonObject();
boolean eventUnitChanged = unitObj.get("type").getAsString().equals("UNIT_CHANGED");
if (!eventUnitChanged) {
return;
return;
}
- JsonParser jsonParser = new JsonParser();
try {
- JsonArray jsonArray = jsonParser.parse(response).getAsJsonArray();
+ JsonArray jsonArray = JsonParser.parseString(response).getAsJsonArray();
if (jsonArray.isJsonArray()) {
try {
for (JsonElement unit : jsonArray) {
}
public static TouchWandUnitData parseResponse(String JsonUnit) {
- final JsonParser jsonParser = new JsonParser();
TouchWandUnitData myTouchWandUnitData;
JsonObject unitObj;
try {
- unitObj = jsonParser.parse(JsonUnit).getAsJsonObject();
+ unitObj = JsonParser.parseString(JsonUnit).getAsJsonObject();
myTouchWandUnitData = parseResponse(unitObj);
} catch (JsonParseException | IllegalStateException e) {
logger.warn("Could not parse response {}", JsonUnit);
public class TradfriCoapHandler implements CoapHandler {
private final Logger logger = LoggerFactory.getLogger(TradfriCoapHandler.class);
- private final JsonParser parser = new JsonParser();
private @Nullable CoapCallback callback;
private @Nullable CompletableFuture<String> future;
final CoapCallback callback = this.callback;
if (callback != null) {
try {
- callback.onUpdate(parser.parse(response.getResponseText()));
+ callback.onUpdate(JsonParser.parseString(response.getResponseText()));
callback.setStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE);
} catch (JsonParseException e) {
logger.warn("Observed value is no valid json: {}, {}", response.getResponseText(), e.getMessage());
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Objects;
+import java.util.Set;
+import java.util.UUID;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
if (gatewayResponse.isSuccess()) {
responseText = gatewayResponse.getResponseText();
- json = new JsonParser().parse(responseText).getAsJsonObject();
+ json = JsonParser.parseString(responseText).getAsJsonObject();
preSharedKey = json.get(NEW_PSK_BY_GW).getAsString();
if (isNullOrEmpty(preSharedKey)) {
deviceClient.setURI(gatewayInfoURI);
deviceClient.asyncGet().thenAccept(data -> {
logger.debug("requestGatewayInfo response: {}", data);
- JsonObject json = new JsonParser().parse(data).getAsJsonObject();
+ JsonObject json = JsonParser.parseString(data).getAsJsonObject();
String firmwareVersion = json.get(VERSION).getAsString();
getThing().setProperty(Thing.PROPERTY_FIRMWARE_VERSION, firmwareVersion);
updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE);
deviceClient.setURI(gatewayURI + "/" + instanceId);
deviceClient.asyncGet().thenAccept(data -> {
logger.debug("requestDeviceDetails response: {}", data);
- JsonObject json = new JsonParser().parse(data).getAsJsonObject();
+ JsonObject json = JsonParser.parseString(data).getAsJsonObject();
deviceUpdateListeners.forEach(listener -> listener.onUpdate(instanceId, json));
});
// restore root URI
@Test
public void validDiscoveryResultWhiteLightW() {
String json = "{\"9001\":\"TRADFRI bulb E27 W opal 1000lm\",\"9002\":1492856270,\"9020\":1507194357,\"9003\":65537,\"3311\":[{\"5850\":1,\"5851\":254,\"9003\":0}],\"9054\":0,\"5750\":2,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI bulb E27 W opal 1000lm\",\"2\":\"\",\"3\":\"1.2.214\",\"6\":1}}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65537", data);
@Test
public void validDiscoveryResultWhiteLightWS() {
String json = "{\"9001\":\"TRADFRI bulb E27 WS opal 980lm\",\"9002\":1492955148,\"9020\":1507200447,\"9003\":65537,\"3311\":[{\"5710\":26909,\"5850\":1,\"5851\":203,\"5707\":0,\"5708\":0,\"5709\":30140,\"5711\":370,\"5706\":\"f1e0b5\",\"9003\":0}],\"9054\":0,\"5750\":2,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI bulb E27 WS opal 980lm\",\"2\":\"\",\"3\":\"1.2.217\",\"6\":1}}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65537", data);
// We do not always receive a COLOR = "5706" attribute, even the light supports it - but the gateway does not
// seem to have this information, if the bulb is unreachable.
String json = "{\"9001\":\"TRADFRI bulb E27 WS opal 980lm\",\"9002\":1492955148,\"9020\":1506968670,\"9003\":65537,\"3311\":[{\"9003\":0}],\"9054\":0,\"5750\":2,\"9019\":0,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI bulb E27 WS opal 980lm\",\"2\":\"\",\"3\":\"1.2.217\",\"6\":1}}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65537", data);
@Test
public void validDiscoveryResultColorLightCWS() {
String json = "{\"9001\":\"TRADFRI bulb E27 CWS opal 600lm\",\"9002\":1505151864,\"9020\":1505433527,\"9003\":65550,\"9019\":1,\"9054\":0,\"5750\":2,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI bulb E27 CWS opal 600lm\",\"2\":\"\",\"3\":\"1.3.002\",\"6\":1},\"3311\":[{\"5850\":1,\"5708\":0,\"5851\":254,\"5707\":0,\"5709\":33137,\"5710\":27211,\"5711\":0,\"5706\":\"efd275\",\"9003\":0}]}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65550", data);
@Test
public void validDiscoveryResultAlternativeColorLightCWS() {
String json = "{\"3311\":[{\"5850\":1,\"5709\":32886,\"5851\":216,\"5707\":5309,\"5708\":52400,\"5710\":27217,\"5706\":\"efd275\",\"9003\":0}],\"9001\":\"Mushroom lamp\",\"9002\":1571036916,\"9020\":1571588312,\"9003\":65539,\"9054\":0,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI bulb E27 C\\/WS opal 600\",\"2\":\"\",\"3\":\"1.3.009\",\"6\":1},\"5750\":2}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65539", data);
@Test
public void validDiscoveryResultRemoteControl() {
String json = "{\"9001\":\"TRADFRI remote control\",\"9002\":1492843083,\"9020\":1506977986,\"9003\":65536,\"9054\":0,\"5750\":0,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI remote control\",\"2\":\"\",\"3\":\"1.2.214\",\"6\":3,\"9\":47},\"15009\":[{\"9003\":0}]}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65536", data);
@Test
public void validDiscoveryResultWirelessDimmer() {
String json = "{\"9001\":\"TRADFRI wireless dimmer\",\"9002\":1492843083,\"9020\":1506977986,\"9003\":65536,\"9054\":0,\"5750\":0,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI wireless dimmer\",\"2\":\"\",\"3\":\"1.2.214\",\"6\":3,\"9\":47},\"15009\":[{\"9003\":0}]}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65536", data);
@Test
public void validDiscoveryResultMotionSensor() {
String json = "{\"9001\":\"TRADFRI motion sensor\",\"9002\":1492955083,\"9020\":1507120083,\"9003\":65538,\"9054\":0,\"5750\":4,\"9019\":1,\"3\":{\"0\":\"IKEA of Sweden\",\"1\":\"TRADFRI motion sensor\",\"2\":\"\",\"3\":\"1.2.214\",\"6\":3,\"9\":60},\"3300\":[{\"9003\":0}]}";
- JsonObject data = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject data = JsonParser.parseString(json).getAsJsonObject();
discovery.onUpdate("65538", data);
String json = getContent();
// mgb: only try and unmarshall non-void result types
if (!Void.class.equals(resultType)) {
- JsonObject jsonObject = new JsonParser().parse(json).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
if (jsonObject.has(PROPERTY_DATA) && jsonObject.get(PROPERTY_DATA).isJsonArray()) {
result = gson.fromJson(jsonObject.getAsJsonArray(PROPERTY_DATA), resultType);
}
request = request.content(content);
}
- if (!csrfToken.isEmpty())
+ if (!csrfToken.isEmpty()) {
request.header("x-csrf-token", this.csrfToken);
+ }
return request;
}
private String getRequestBodyAsJson() {
- JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = new JsonObject();
JsonElement jsonElement = null;
for (Entry<String, String> entry : bodyParameters.entrySet()) {
try {
- jsonElement = jsonParser.parse(entry.getValue());
+ jsonElement = JsonParser.parseString(entry.getValue());
} catch (JsonSyntaxException e) {
jsonElement = new JsonPrimitive(entry.getValue());
}
}
private static String prettyPrintJson(String content) {
- JsonParser parser = new JsonParser();
- JsonObject json = parser.parse(content).getAsJsonObject();
+ JsonObject json = JsonParser.parseString(content).getAsJsonObject();
Gson prettyGson = new GsonBuilder().setPrettyPrinting().create();
return prettyGson.toJson(json);
}
private Logger logger = LoggerFactory.getLogger(UnifiedRemoteConnection.class);
private final String url;
- private final JsonParser jsonParser = new JsonParser();
private HttpClient httpClient;
private @Nullable String connectionID;
private @Nullable String connectionGUID;
connectionGUID = "web-" + UUID.randomUUID().toString();
response = httpClient.newRequest(getPath("connect")).method(HttpMethod.GET)
.timeout(TIMEOUT_SEC, TimeUnit.SECONDS).send();
- JsonObject responseBody = jsonParser.parse(response.getContentAsString()).getAsJsonObject();
+ JsonObject responseBody = JsonParser.parseString(response.getContentAsString()).getAsJsonObject();
connectionID = responseBody.get("id").getAsString();
String password = UUID.randomUUID().toString();
public ContentResponse mouseMove(String jsonIntArray)
throws InterruptedException, ExecutionException, TimeoutException {
- JsonArray cordinates = jsonParser.parse(jsonIntArray).getAsJsonArray();
+ JsonArray cordinates = JsonParser.parseString(jsonIntArray).getAsJsonArray();
int x = cordinates.get(0).getAsInt();
int y = cordinates.get(1).getAsInt();
return this.execRemoteAction("Relmtech.Basic Input", "delta",
Request request = httpClient.newRequest(getPath("request")).method(HttpMethod.POST).timeout(TIMEOUT_SEC,
TimeUnit.SECONDS);
request.header(HttpHeader.CONTENT_TYPE, "application/json");
- if (connectionID != null)
+ if (connectionID != null) {
request.header(CONNECTION_ID_HEADER, connectionID);
+ }
String stringContent = content.toString();
logger.debug("[Request Payload {} ]", stringContent);
request.content(new StringContentProvider(stringContent, "utf-8"));
private static final long CACHE_EXPIRY = TimeUnit.SECONDS.toMillis(5);
private final Logger logger = LoggerFactory.getLogger(WindcentraleHandler.class);
- private final JsonParser parser = new JsonParser();
private @Nullable MillConfig millConfig;
private @Nullable String millUrl;
return;
}
logger.trace("Retrieved updated mill data: {}", rawMillData);
- final JsonElement jsonElement = parser.parse(rawMillData);
+ final JsonElement jsonElement = JsonParser.parseString(rawMillData);
if (!(jsonElement instanceof JsonObject)) {
throw new JsonParseException("Could not parse windmill json data");
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
public void onNotify(String msg) {
logger.debug("Got state: {}", msg);
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
if (result.has("id")) {
String id = result.get("id").getAsString();
public void onNotify(String msg) {
logger.debug("Got state: {}", msg);
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
if (result.has("id")) {
String id = result.get("id").getAsString();
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
public void onNotify(String response) {
boolean needNotify = true;
- JsonObject message = new JsonParser().parse(response).getAsJsonObject();
+ JsonObject message = JsonParser.parseString(response).getAsJsonObject();
try {
if (message.has("method")) {
String method = message.get("method").toString().replace("\"", "");
if (method.equals("props")) {// Property notify
String params = message.get("params").toString();
- JsonObject propsObject = new JsonParser().parse(params).getAsJsonObject();
+ JsonObject propsObject = JsonParser.parseString(params).getAsJsonObject();
for (Entry<String, JsonElement> prop : propsObject.entrySet()) {
final YeelightDeviceProperty property = YeelightDeviceProperty.fromString(prop.getKey());
if (null == property) {
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
@Override
public void onNotify(String msg) {
- JsonObject result = new JsonParser().parse(msg).getAsJsonObject();
+ JsonObject result = JsonParser.parseString(msg).getAsJsonObject();
try {
if (result.has("id")) {
String id = result.get("id").getAsString();
private JsonObject convertStringToJsonObject(String jsonString) {
try {
- JsonParser parser = new JsonParser();
- JsonElement jsonElement = parser.parse(jsonString);
+ JsonElement jsonElement = JsonParser.parseString(jsonString);
JsonObject result;
if (jsonElement instanceof JsonObject) {
response = commonSetup.client.target(commonSetup.basePath).request().post(Entity.json(body));
assertThat(response.getStatus(), is(200));
- JsonElement e = new JsonParser().parse(response.readEntity(String.class)).getAsJsonArray().get(0);
+ JsonElement e = JsonParser.parseString(response.readEntity(String.class)).getAsJsonArray().get(0);
e = e.getAsJsonObject().get("success");
HueSuccessResponseCreateUser rc = commonSetup.cs.gson.fromJson(e, HueSuccessResponseCreateUser.class);
assertNotNull(rc);
throw resp.createException();
}
- final JsonParser parser = new JsonParser();
- final JsonObject root = parser.parse(resp.getContent()).getAsJsonObject();
+ final JsonObject root = JsonParser.parseString(resp.getContent()).getAsJsonObject();
for (Map.Entry<String, JsonElement> room : root.getAsJsonObject("rooms").entrySet()) {
final JsonObject roomObj = (JsonObject) room.getValue();
uidToKey.clear();
- final JsonParser parser = new JsonParser();
- final JsonObject root = parser.parse(resp.getContent()).getAsJsonObject();
+ final JsonObject root = JsonParser.parseString(resp.getContent()).getAsJsonObject();
for (Map.Entry<String, JsonElement> room : root.getAsJsonObject("rooms").entrySet()) {
final JsonObject roomObj = (JsonObject) room.getValue();
for (Map.Entry<String, JsonElement> dev : roomObj.getAsJsonObject("devices").entrySet()) {
<version>2.5</version>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.6</version>
+ <scope>compile</scope>
+ </dependency>
<dependency>
<groupId>de.dfki.lt.jtok</groupId>
<artifactId>jtok-core</artifactId>
org.osgi.service.event;version='[1.4.0,1.4.1)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
slf4j.api;version='[1.7.25,1.7.26)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
tec.uom.lib.uom-lib-common;version='[1.0.3,1.0.4)',\
tec.uom.se;version='[1.0.10,1.0.11)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
- org.apache.commons.lang3;version='[3.9.0,3.9.1)'
+ com.google.gson;version='[2.8.6,2.8.7)',\
+ org.apache.commons.lang3;version='[3.12.0,3.12.1)'
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.jupnp;version='[2.5.2,2.5.3)',\
org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
tec.uom.lib.uom-lib-common;version='[1.0.3,1.0.4)',\
tec.uom.se;version='[1.0.10,1.0.11)',\
org.eclipse.jetty.client;version='[9.4.20,9.4.21)',\
org.mockito.mockito-core;version='[3.7.0,3.7.1)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
# done
#
-runbundles: \
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.scr;version='[2.1.10,2.1.11)',\
org.osgi.service.event;version='[1.4.0,1.4.1)',\
junit-platform-engine;version='[1.7.0,1.7.1)',\
junit-platform-launcher;version='[1.7.0,1.7.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
\ No newline at end of file
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
#
-runbundles: \
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
junit-platform-engine;version='[1.7.0,1.7.1)',\
junit-platform-launcher;version='[1.7.0,1.7.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
junit-platform-launcher;version='[1.7.0,1.7.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
- org.apache.commons.lang3;version='[3.9.0,3.9.1)'
+ com.google.gson;version='[2.8.6,2.8.7)',\
+ org.apache.commons.lang3;version='[3.12.0,3.12.1)'
org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
org.osgi.service.event;version='[1.4.0,1.4.1)',\
slf4j.api;version='[1.7.25,1.7.26)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
tec.uom.lib.uom-lib-common;version='[1.0.3,1.0.4)',\
tec.uom.se;version='[1.0.10,1.0.11)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.mockito.junit-jupiter;version='[3.7.0,3.7.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.aries.javax.jax.rs-api;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.mockito.mockito-core;version='[3.7.0,3.7.1)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.commons.commons-net;version='[3.7.2,3.7.3)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.mockito.mockito-core;version='[3.7.0,3.7.1)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
# done
#
-runbundles: \
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
- org.apache.commons.lang3;version='[3.9.0,3.9.1)'
+ com.google.gson;version='[2.8.6,2.8.7)',\
+ org.apache.commons.lang3;version='[3.12.0,3.12.1)'
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
slf4j.api;version='[1.7.25,1.7.26)',\
org.eclipse.equinox.event;version='[1.4.300,1.4.301)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.jmdns;version='[3.5.6,3.5.7)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
tec.uom.lib.uom-lib-common;version='[1.0.3,1.0.4)',\
org.mockito.mockito-core;version='[3.7.0,3.7.1)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'
#
-runbundles: \
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.configadmin;version='[1.9.8,1.9.9)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.objenesis;version='[3.1.0,3.1.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
- org.apache.commons.lang3;version='[3.9.0,3.9.1)'
+ com.google.gson;version='[2.8.6,2.8.7)',\
+ org.apache.commons.lang3;version='[3.12.0,3.12.1)'
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
- com.google.gson;version='[2.8.2,2.8.3)',\
javax.measure.unit-api;version='[1.0.0,1.0.1)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.apache.felix.scr;version='[2.1.10,2.1.11)',\
junit-platform-engine;version='[1.7.0,1.7.1)',\
junit-platform-launcher;version='[1.7.0,1.7.1)',\
org.glassfish.hk2.osgi-resource-locator;version='[1.0.3,1.0.4)',\
- biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)'
+ biz.aQute.tester.junit-platform;version='[5.3.0,5.3.1)',\
+ com.google.gson;version='[2.8.6,2.8.7)'