/** {@inheritDoc} */ @Override public SoftwareRegistration registrationPLF(String code, String returnURL) { String url = softwareRegistrationHost + "/portal/accessToken"; SoftwareRegistration softwareRegistration = new SoftwareRegistration(); try { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); List<NameValuePair> urlParameters = new ArrayList<>(); urlParameters.add(new BasicNameValuePair("grant_type", "authorization_code")); urlParameters.add(new BasicNameValuePair("code", code)); urlParameters.add(new BasicNameValuePair("redirect_uri", returnURL)); urlParameters.add(new BasicNameValuePair("client_id", "x6iCo6YWmw")); urlParameters.add(new BasicNameValuePair("client_secret", "3XNzbpuTSx5HqJsBSwgl")); post.setEntity(new UrlEncodedFormEntity(urlParameters)); HttpResponse response = client.execute(post); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer result = new StringBuffer(); String line = ""; while ((line = rd.readLine()) != null) { result.append(line); } JSONObject responseData = new JSONObject(result.toString()); if (response.getStatusLine().getStatusCode() == HTTPStatus.OK) { String accessToken = responseData.getString("access_token"); softwareRegistration.setAccess_token(accessToken); boolean pushInfo = sendPlfInformation(accessToken); softwareRegistration.setPushInfo(pushInfo); } else { String errorCode = responseData.getString("error"); softwareRegistration.setError_code(errorCode); } return softwareRegistration; } catch (Exception ex) { softwareRegistration.setNotReachable(true); } return softwareRegistration; }