Esempio n. 1
0
  /**
   * Disable/Enable device camera.
   *
   * @param code - Operation code.
   * @param data - Data required(Camera enable/disable switch).
   * @param requestMode - Request mode(Normal mode or policy bundle mode).
   */
  public void disableCamera(String code, String data) {
    boolean camFunc = false;
    try {
      JSONObject inputData = new JSONObject(data);
      if (!inputData.isNull(resources.getString(R.string.intent_extra_function))
          && inputData
              .get(resources.getString(R.string.intent_extra_function))
              .toString()
              .equalsIgnoreCase(resources.getString(R.string.intent_extra_enable))) {
        camFunc = false;
      } else if (!inputData.isNull(resources.getString(R.string.intent_extra_function))
          && inputData
              .get(resources.getString(R.string.intent_extra_function))
              .toString()
              .equalsIgnoreCase(resources.getString(R.string.intent_extra_disable))) {
        camFunc = true;
      } else if (!inputData.isNull(resources.getString(R.string.intent_extra_function))) {
        camFunc =
            Boolean.parseBoolean(
                inputData.get(resources.getString(R.string.intent_extra_function)).toString());
      }

      ComponentName cameraAdmin = new ComponentName(context, AgentDeviceAdminReceiver.class);

      resultBuilder.build(code);

      devicePolicyManager.setCameraDisabled(cameraAdmin, camFunc);
    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }
  }
Esempio n. 2
0
  /**
   * Configure device WIFI profile.
   *
   * @param code - Operation code.
   * @param data - Data required(SSID, Password).
   * @param requestMode - Request mode(Normal mode or policy bundle mode).
   */
  public void configureWifi(String code, String data) {
    boolean wifistatus = false;
    String ssid = null;
    String password = null;

    try {
      JSONObject wifiData = new JSONObject(data);
      if (!wifiData.isNull(resources.getString(R.string.intent_extra_ssid))) {
        ssid = (String) wifiData.get(resources.getString(R.string.intent_extra_ssid));
      }
      if (!wifiData.isNull(resources.getString(R.string.intent_extra_password))) {
        password = (String) wifiData.get(resources.getString(R.string.intent_extra_password));
      }
    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format " + e.toString());
    }

    WiFiConfig config = new WiFiConfig(context.getApplicationContext());

    wifistatus = config.saveWEPConfig(ssid, password);

    String status = null;
    if (wifistatus) {
      status = resources.getString(R.string.shared_pref_default_status);
    } else {
      status = resources.getString(R.string.shared_pref_false_status);
    }

    resultBuilder.build(code, status);
  }
Esempio n. 3
0
  /**
   * Encrypt/Decrypt device storage.
   *
   * @param code - Operation code.
   * @param data - Data required(Encryption enable/disable switch).
   * @param requestMode - Request mode(Normal mode or policy bundle mode).
   */
  public void encryptStorage(String code, String data) {
    boolean doEncrypt = true;
    try {
      JSONObject encryptData = new JSONObject(data);
      if (!encryptData.isNull(resources.getString(R.string.intent_extra_function))
          && encryptData
              .get(resources.getString(R.string.intent_extra_function))
              .toString()
              .equalsIgnoreCase(resources.getString(R.string.intent_extra_encrypt))) {
        doEncrypt = true;
      } else if (!encryptData.isNull(resources.getString(R.string.intent_extra_function))
          && encryptData
              .get(resources.getString(R.string.intent_extra_function))
              .toString()
              .equalsIgnoreCase(resources.getString(R.string.intent_extra_decrypt))) {
        doEncrypt = false;
      } else if (!encryptData.isNull(resources.getString(R.string.intent_extra_function))) {
        doEncrypt =
            Boolean.parseBoolean(
                encryptData.get(resources.getString(R.string.intent_extra_function)).toString());
      }
    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }

    ComponentName admin = new ComponentName(context, AgentDeviceAdminReceiver.class);

    if (doEncrypt
        && devicePolicyManager.getStorageEncryptionStatus()
            != DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED
        && (devicePolicyManager.getStorageEncryptionStatus()
            == DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE)) {

      devicePolicyManager.setStorageEncryption(admin, doEncrypt);
      Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION);
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      context.startActivity(intent);

    } else if (!doEncrypt
        && devicePolicyManager.getStorageEncryptionStatus()
            != DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED
        && (devicePolicyManager.getStorageEncryptionStatus()
                == DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE
            || devicePolicyManager.getStorageEncryptionStatus()
                == DevicePolicyManager.ENCRYPTION_STATUS_ACTIVATING)) {

      devicePolicyManager.setStorageEncryption(admin, doEncrypt);
    }

    String status;
    if (devicePolicyManager.getStorageEncryptionStatus()
        != DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
      status = resources.getString(R.string.shared_pref_default_status);
    } else {
      status = resources.getString(R.string.shared_pref_false_status);
    }

    resultBuilder.build(code, status);
  }
Esempio n. 4
0
  /** Install an Application */
  private void installApplication(JSONObject data, String code) {
    String appUrl = null;
    String type = null;
    String os = null;

    try {
      JSONObject applicationData = data;
      appUrl = (String) applicationData.get(resources.getString(R.string.intent_extra_identity));
      if (!applicationData.isNull(resources.getString(R.string.intent_extra_type))) {
        type = (String) applicationData.get(resources.getString(R.string.intent_extra_type));
      }

      if (!applicationData.isNull(resources.getString(R.string.intent_extra_platform_id))) {
        os = (String) applicationData.get(resources.getString(R.string.intent_extra_platform_id));
      } else if (!applicationData.isNull(resources.getString(R.string.intent_extra_os))) {
        os = (String) applicationData.get(resources.getString(R.string.intent_extra_os));
      }

      if (type != null
          && type.equalsIgnoreCase(resources.getString(R.string.intent_extra_enterprise))) {
        if (os != null) {
          if (os.equalsIgnoreCase(resources.getString(R.string.intent_extra_android))) {
            appList.installApp(appUrl);
          }
        } else {
          appList.installApp(appUrl);
        }
      } else if (type != null
          && type.equalsIgnoreCase(resources.getString(R.string.intent_extra_market))) {
        if (os != null) {
          if (os.equalsIgnoreCase(resources.getString(R.string.intent_extra_android))) {
            triggerGooglePlayApp(appUrl);
          }
        } else {
          triggerGooglePlayApp(appUrl);
        }

      } else {
        if (os != null) {
          if (os.equalsIgnoreCase(resources.getString(R.string.intent_extra_android))) {
            appList.installApp(appUrl);
          }
        } else {
          appList.installApp(appUrl);
        }
      }

    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }
  }
Esempio n. 5
0
  /**
   * Blacklisting apps.
   *
   * @param code - Operation code.
   * @param data - Data required(Application data).
   */
  public void blacklistApps(String code, String data) {
    ArrayList<DeviceAppInfo> apps = appList.getInstalledApps();
    JSONArray appList = new JSONArray();
    String identity = null;
    try {
      JSONObject resultApp = new JSONObject(data);
      if (!resultApp.isNull(resources.getString(R.string.intent_extra_data))) {
        resultApp = (JSONObject) resultApp.get(resources.getString(R.string.intent_extra_data));
      }

      identity = (String) resultApp.get(resources.getString(R.string.intent_extra_identity));
    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }

    for (DeviceAppInfo app : apps) {
      JSONObject result = new JSONObject();
      try {
        result.put(resources.getString(R.string.intent_extra_name), app.getAppname());
        result.put(resources.getString(R.string.intent_extra_package), app.getPackagename());
        if (identity.trim().equals(app.getPackagename())) {
          result.put(resources.getString(R.string.intent_extra_not_violated), false);
          result.put(resources.getString(R.string.intent_extra_package), app.getPackagename());
        } else {
          result.put(resources.getString(R.string.intent_extra_not_violated), true);
        }

      } catch (JSONException e) {
        Log.e(TAG, "Invalid JSON format." + e);
      }
      appList.put(result);
    }

    resultBuilder.build(code, appList);
  }
  private void init(JSONObject json) throws TwitterException {
    try {
      JSONArray indicesArray = json.getJSONArray("indices");
      setStart(indicesArray.getInt(0));
      setEnd(indicesArray.getInt(1));

      if (!json.isNull("name")) {
        this.name = json.getString("name");
      }
      if (!json.isNull("screen_name")) {
        this.screenName = json.getString("screen_name");
      }
      id = ParseUtil.getLong("id", json);
    } catch (JSONException jsone) {
      throw new TwitterException(jsone);
    }
  }
  //
  // ONE TIME ADD VIOLATIONS
  //
  //
  private static void oneTimeAddViolations() {

    String jsonString = "";

    try {
      jsonString = readFile("./json/violations.json", StandardCharsets.UTF_8);
    } catch (IOException e) {
      System.out.println(e);
    }

    try {
      JSONObject rootObject = new JSONObject(jsonString); // Parse the JSON to a JSONObject
      JSONArray rows = rootObject.getJSONArray("stuff"); // Get all JSONArray rows

      System.out.println("row lengths: " + rows.length());

      for (int j = 0; j < rows.length(); j++) { // Iterate each element in the elements array
        JSONObject element = rows.getJSONObject(j); // Get the element object

        int id = element.getInt("id");
        int citationNumber = element.getInt("citation_number");
        String violationNumber = element.getString("violation_number");
        String violationDescription = element.getString("violation_description");
        String warrantStatus = element.getString("warrant_status");
        String warrantNumber = " ";
        Boolean isWarrantNumberNull = element.isNull("warrant_number");
        if (!isWarrantNumberNull) warrantNumber = element.getString("warrant_number");
        String status = element.getString("status");
        String statusDate = element.getString("status_date");
        String fineAmount = " ";
        Boolean isFineAmountNull = element.isNull("fine_amount");
        if (!isFineAmountNull) fineAmount = element.getString("fine_amount");
        String courtCost = " ";
        Boolean isCourtCostNull = element.isNull("court_cost");
        if (!isCourtCostNull) courtCost = element.getString("court_cost");
        /*
        Map<String, AttributeValue> item = newViolationItem(citationNumber, violationNumber, violationDescription, warrantStatus, warrantNumber, status, statusDate, fineAmount, courtCost);
        PutItemRequest putItemRequest = new PutItemRequest("violations-table", item);
        PutItemResult putItemResult = dynamoDB.putItem(putItemRequest);
        */
      }
    } catch (JSONException e) {
      // JSON Parsing error
      e.printStackTrace();
    }
  }
 private void init(JSONObject jsonobject) throws TwitterException {
   try {
     JSONArray jsonarray = jsonobject.getJSONArray("indices");
     setStart(jsonarray.getInt(0));
     setEnd(jsonarray.getInt(1));
     if (!jsonobject.isNull("text")) {
       text = jsonobject.getString("text");
     }
     return;
   }
   // Misplaced declaration of an exception variable
   catch (JSONObject jsonobject) {
     throw new TwitterException(jsonobject);
   }
 }
Esempio n. 9
0
 public Note(JSONObject jsonObject) throws JSONException {
   startTime = jsonObject.getString("StartTime");
   content = jsonObject.getString("Content");
   title = jsonObject.getString("Title");
   id = jsonObject.getInt("ID");
   sign = jsonObject.getInt("sign");
   joined = jsonObject.getInt("joined");
   readstate = jsonObject.getInt("readstate");
   noticestate = jsonObject.getInt("noticestate");
   got = jsonObject.optString("got");
   if (!jsonObject.isNull("filepath")) filepath = jsonObject.getString("filepath");
   else {
     filepath = "";
   }
 }
Esempio n. 10
0
 /**
  * Convert a JSONObject into a cookie list. A cookie list is a sequence of name/value pairs. The
  * names are separated from the values by '='. The pairs are separated by ';'. The characters '%',
  * '+', '=', and ';' in the names and values are replaced by "%hh".
  *
  * @param jo A JSONObject
  * @return A cookie list string
  * @throws JSONException
  */
 public static String toString(JSONObject jo) throws JSONException {
   boolean b = false;
   Iterator keys = jo.keys();
   String string;
   StringBuffer sb = new StringBuffer();
   while (keys.hasNext()) {
     string = keys.next().toString();
     if (!jo.isNull(string)) {
       if (b) {
         sb.append(';');
       }
       sb.append(Cookie.escape(string));
       sb.append("=");
       sb.append(Cookie.escape(jo.getString(string)));
       b = true;
     }
   }
   return sb.toString();
 }
Esempio n. 11
0
  private void init(JSONObject json) throws TwitterException {
    id = ParseUtil.getLong("id", json);
    name = ParseUtil.getRawString("name", json);
    fullName = ParseUtil.getRawString("full_name", json);
    slug = ParseUtil.getRawString("slug", json);
    description = ParseUtil.getRawString("description", json);
    subscriberCount = ParseUtil.getInt("subscriber_count", json);
    memberCount = ParseUtil.getInt("member_count", json);
    uri = ParseUtil.getRawString("uri", json);
    mode = "public".equals(ParseUtil.getRawString("mode", json));
    following = ParseUtil.getBoolean("following", json);
    createdAt = ParseUtil.getDate("created_at", json);

    try {
      if (!json.isNull("user")) {
        user = new UserJSONImpl(json.getJSONObject("user"));
      }
    } catch (JSONException jsone) {
      throw new TwitterException(jsone.getMessage() + ":" + json.toString(), jsone);
    }
  }
Esempio n. 12
0
  /**
   * Change device lock code.
   *
   * @param code - Operation code.
   * @param data - Data required(Lock code).
   */
  public void changeLockCode(String code, String data) {
    ComponentName demoDeviceAdmin = new ComponentName(context, AgentDeviceAdminReceiver.class);
    devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, DEFAULT_PASSWORD_MIN_LENGTH);
    String password = null;

    try {
      JSONObject lockData = new JSONObject(data);
      if (!lockData.isNull(resources.getString(R.string.intent_extra_password))) {
        password = (String) lockData.get(resources.getString(R.string.intent_extra_password));
      }

      resultBuilder.build(code);

      if (password != null && !password.isEmpty()) {
        devicePolicyManager.resetPassword(
            password, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
        devicePolicyManager.lockNow();
      }
    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }
  }
Esempio n. 13
0
 /**
  * Convert a JSONObject into an HTTP header. A request header must contain
  *
  * <pre>{
  *    Method: "POST" (for example),
  *    "Request-URI": "/" (for example),
  *    "HTTP-Version": "HTTP/1.1" (for example)
  * }</pre>
  *
  * A response header must contain
  *
  * <pre>{
  *    "HTTP-Version": "HTTP/1.1" (for example),
  *    "Status-Code": "200" (for example),
  *    "Reason-Phrase": "OK" (for example)
  * }</pre>
  *
  * Any other members of the JSONObject will be output as HTTP fields. The result will end with two
  * CRLF pairs.
  *
  * @param jo A JSONObject
  * @return An HTTP header string.
  * @throws JSONException if the object does not contain enough information.
  */
 public static String toString(JSONObject jo) throws JSONException {
   Iterator<String> keys = jo.keys();
   String string;
   StringBuilder sb = new StringBuilder();
   if (jo.has("Status-Code") && jo.has("Reason-Phrase")) {
     sb.append(jo.getString("HTTP-Version"));
     sb.append(' ');
     sb.append(jo.getString("Status-Code"));
     sb.append(' ');
     sb.append(jo.getString("Reason-Phrase"));
   } else if (jo.has("Method") && jo.has("Request-URI")) {
     sb.append(jo.getString("Method"));
     sb.append(' ');
     sb.append('"');
     sb.append(jo.getString("Request-URI"));
     sb.append('"');
     sb.append(' ');
     sb.append(jo.getString("HTTP-Version"));
   } else {
     throw new JSONException("Not enough material for an HTTP header.");
   }
   sb.append(CRLF);
   while (keys.hasNext()) {
     string = keys.next();
     if (!"HTTP-Version".equals(string)
         && !"Status-Code".equals(string)
         && !"Reason-Phrase".equals(string)
         && !"Method".equals(string)
         && !"Request-URI".equals(string)
         && !jo.isNull(string)) {
       sb.append(string);
       sb.append(": ");
       sb.append(jo.getString(string));
       sb.append(CRLF);
     }
   }
   sb.append(CRLF);
   return sb.toString();
 }
Esempio n. 14
0
 /** Writes an object. */
 public void writeObject(JSONObject object) throws IOException {
   if (object.isUndefined()) writeString("undefined");
   else if (object.isNull()) writeString("null");
   else if (object.isArray()) {
     writeString("[");
     for (int i = 0; i < object.length(); i++) {
       writeObject(object.get(i));
       if (i < object.length() - 1) writeString(",");
     }
     writeString("]");
   } else if (object.isObject()) {
     writeString("{");
     int i = 0;
     int len = object.getMemberCount();
     for (String member : object.getMemberNames()) {
       writeString("\"");
       writeString(Common.withEscChars(member));
       writeString("\":");
       writeObject(object.get(member));
       if (i < len - 1) writeString(",");
       i++;
     }
     writeString("}");
   } else {
     Object value = object.getValue();
     if (value instanceof Boolean) writeString(object.getBoolean());
     else if (value instanceof Byte) writeString(object.getByte());
     else if (value instanceof Short) writeString(object.getShort());
     else if (value instanceof Integer) writeString(object.getInt());
     else if (value instanceof Float) writeString(object.getFloat());
     else if (value instanceof Long) writeString(object.getLong());
     else if (value instanceof Double) writeString(object.getDouble());
     else {
       writeString("\"");
       writeString(Common.withEscChars(object.getString()));
       writeString("\"");
     }
   }
 }
Esempio n. 15
0
  //
  // ONE TIME ADD WARRANTS
  //
  //
  private static void oneTimeAddWarrants() {

    String jsonString = "";

    try {
      jsonString = readFile("./json/warrants.json", StandardCharsets.UTF_8);
    } catch (IOException e) {
      System.out.println(e);
    }

    try {
      JSONObject rootObject = new JSONObject(jsonString); // Parse the JSON to a JSONObject
      JSONArray rows = rootObject.getJSONArray("stuff"); // Get all JSONArray rows

      // System.out.println("row lengths: " + rows.length());

      set2 = new HashSet<>();

      for (int j = 0; j < rows.length(); j++) { // Iterate each element in the elements array
        JSONObject element = rows.getJSONObject(j); // Get the element object

        String defendant = element.getString("Defendant");

        String strarr[] = defendant.split(" ");
        String temp = strarr[1];
        int len = strarr[0].length();
        strarr[0] = strarr[0].substring(0, len - 1);
        strarr[1] = strarr[0];
        strarr[0] = temp;

        String firstLast = strarr[0] + strarr[1];
        firstLast = firstLast.toLowerCase();

        set2.add(firstLast);
        // System.out.println(firstLast);

        int zipCode = 0;
        Boolean isZipCodeNull = element.isNull("ZIP Code");
        if (!isZipCodeNull) zipCode = element.getInt("ZIP Code");
        String dob = element.getString("Date of Birth");
        String caseNumber = element.getString("Case Number");

        String firstLastDOB = firstLast + dob;

        // pick a ssn from list
        String ssn = ssnList.get(ssnCounter);
        ssnCounter--;
        ssnHashMap.put(firstLast, ssn);

        // compute salt
        final Random ran = new SecureRandom();
        byte[] salt = new byte[32];
        ran.nextBytes(salt);
        String saltString = Base64.encodeBase64String(salt);

        // System.out.println("saltstring: " + saltString);
        saltHashMap.put(firstLast, saltString);

        // compute ripemd160 hash of ssn + salt
        String saltPlusSsn = saltString + ssn;
        // System.out.println("salt plus ssn: " + saltPlusSsn);

        String resultingHash = "";
        try {
          byte[] r = saltPlusSsn.getBytes("US-ASCII");
          RIPEMD160Digest d = new RIPEMD160Digest();
          d.update(r, 0, r.length);
          byte[] o = new byte[d.getDigestSize()];
          d.doFinal(o, 0);
          ByteArrayOutputStream baos = new ByteArrayOutputStream(40);
          Hex.encode(o, baos);
          resultingHash = new String(baos.toByteArray(), StandardCharsets.UTF_8);

          hashedssnHashMap.put(firstLast, resultingHash);
        } catch (UnsupportedEncodingException e) {
          System.out.println(e);
        } catch (IOException i) {
          System.out.println(i);
        }

        // compareNames();

        Map<String, AttributeValue> item =
            newWarrantItem(
                firstLast, firstLastDOB, resultingHash, defendant, zipCode, dob, caseNumber);
        PutItemRequest putItemRequest = new PutItemRequest("warrants-table", item);
        PutItemResult putItemResult = dynamoDB.putItem(putItemRequest);
      }
    } catch (JSONException e) {
      // JSON Parsing error
      e.printStackTrace();
    }
  }
Esempio n. 16
0
  /**
   * Set device password policy.
   *
   * @param code - Operation code.
   * @param data - Data required (Password policy parameters).
   * @param requestMode - Request mode(Normal mode or policy bundle mode).
   */
  public void setPasswordPolicy(String code, String data) {
    ComponentName demoDeviceAdmin = new ComponentName(context, AgentDeviceAdminReceiver.class);

    int attempts, length, history, specialChars;
    String alphanumeric, complex;
    boolean isAlphanumeric, isComplex;
    long timout;

    resultBuilder.build(code);

    try {
      JSONObject policyData = new JSONObject(data);
      if (!policyData.isNull(resources.getString(R.string.policy_password_max_failed_attempts))
          && policyData.get(resources.getString(R.string.policy_password_max_failed_attempts))
              != null) {
        attempts =
            Integer.parseInt(
                (String)
                    policyData.get(
                        resources.getString(R.string.policy_password_max_failed_attempts)));
        devicePolicyManager.setMaximumFailedPasswordsForWipe(demoDeviceAdmin, attempts);
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_min_length))
          && policyData.get(resources.getString(R.string.policy_password_min_length)) != null) {
        length =
            Integer.parseInt(
                (String) policyData.get(resources.getString(R.string.policy_password_min_length)));
        devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, length);
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_pin_history))
          && policyData.get(resources.getString(R.string.policy_password_pin_history)) != null) {
        history =
            Integer.parseInt(
                (String) policyData.get(resources.getString(R.string.policy_password_pin_history)));
        devicePolicyManager.setPasswordHistoryLength(demoDeviceAdmin, history);
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_min_complex_chars))
          && policyData.get(resources.getString(R.string.policy_password_min_complex_chars))
              != null) {
        specialChars =
            Integer.parseInt(
                (String)
                    policyData.get(
                        resources.getString(R.string.policy_password_min_complex_chars)));
        devicePolicyManager.setPasswordMinimumSymbols(demoDeviceAdmin, specialChars);
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_require_alphanumeric))
          && policyData.get(resources.getString(R.string.policy_password_require_alphanumeric))
              != null) {
        if (policyData.get(resources.getString(R.string.policy_password_require_alphanumeric))
            instanceof String) {
          alphanumeric =
              (String)
                  policyData.get(
                      resources.getString(R.string.policy_password_require_alphanumeric));
          if (alphanumeric.equals(resources.getString(R.string.shared_pref_default_status))) {
            devicePolicyManager.setPasswordQuality(
                demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
          }
        } else if (policyData.get(
                resources.getString(R.string.policy_password_require_alphanumeric))
            instanceof Boolean) {
          isAlphanumeric =
              policyData.getBoolean(
                  resources.getString(R.string.policy_password_require_alphanumeric));
          if (isAlphanumeric) {
            devicePolicyManager.setPasswordQuality(
                demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
          }
        }
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_allow_simple))
          && policyData.get(resources.getString(R.string.policy_password_allow_simple)) != null) {
        if (policyData.get(resources.getString(R.string.policy_password_allow_simple))
            instanceof String) {
          complex =
              (String) policyData.get(resources.getString(R.string.policy_password_allow_simple));
          if (!complex.equals(resources.getString(R.string.shared_pref_default_status))) {
            devicePolicyManager.setPasswordQuality(
                demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
          }
        } else if (policyData.get(resources.getString(R.string.policy_password_allow_simple))
            instanceof Boolean) {
          isComplex =
              policyData.getBoolean(resources.getString(R.string.policy_password_allow_simple));
          if (!isComplex) {
            devicePolicyManager.setPasswordQuality(
                demoDeviceAdmin, DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
          }
        }
      }

      if (!policyData.isNull(resources.getString(R.string.policy_password_pin_age_in_days))
          && policyData.get(resources.getString(R.string.policy_password_pin_age_in_days))
              != null) {
        int daysOfExp =
            Integer.parseInt(
                (String)
                    policyData.get(resources.getString(R.string.policy_password_pin_age_in_days)));
        timout = (long) (daysOfExp * DAY_MILLISECONDS_MULTIPLIER);
        devicePolicyManager.setPasswordExpirationTimeout(demoDeviceAdmin, timout);
      }

    } catch (JSONException e) {
      Log.e(TAG, "Invalid JSON format." + e);
    }
  }
Esempio n. 17
0
  /**
   * Entry point.
   *
   * @param args
   */
  public static void main(String args[]) {
    Iterator it;
    JSONArray a;
    JSONObject j;
    JSONStringer jj;
    String s;

    /**
     * Obj is a typical class that implements JSONString. It also provides some beanie methods that
     * can be used to construct a JSONObject. It also demonstrates constructing a JSONObject with an
     * array of names.
     */
    class Obj implements JSONString {
      public String aString;
      public double aNumber;
      public boolean aBoolean;

      public Obj(String string, double n, boolean b) {
        this.aString = string;
        this.aNumber = n;
        this.aBoolean = b;
      }

      public double getNumber() {
        return this.aNumber;
      }

      public String getString() {
        return this.aString;
      }

      public boolean isBoolean() {
        return this.aBoolean;
      }

      public String getBENT() {
        return "All uppercase key";
      }

      public String getX() {
        return "x";
      }

      public String toJSONString() {
        return "{"
            + JSONObject.quote(this.aString)
            + ":"
            + JSONObject.doubleToString(this.aNumber)
            + "}";
      }

      public String toString() {
        return this.getString()
            + " "
            + this.getNumber()
            + " "
            + this.isBoolean()
            + "."
            + this.getBENT()
            + " "
            + this.getX();
      }
    }

    Obj obj = new Obj("A beany object", 42, true);

    try {
      j =
          XML.toJSONObject(
              "<![CDATA[This is a collection of test patterns and examples for org.json.]]>  Ignore the stuff past the end.  ");
      System.out.println(j.toString());

      s = "{     \"list of lists\" : [         [1, 2, 3],         [4, 5, 6],     ] }";
      j = new JSONObject(s);
      System.out.println(j.toString(4));
      System.out.println(XML.toString(j));

      s =
          "<recipe name=\"bread\" prep_time=\"5 mins\" cook_time=\"3 hours\"> <title>Basic bread</title> <ingredient amount=\"8\" unit=\"dL\">Flour</ingredient> <ingredient amount=\"10\" unit=\"grams\">Yeast</ingredient> <ingredient amount=\"4\" unit=\"dL\" state=\"warm\">Water</ingredient> <ingredient amount=\"1\" unit=\"teaspoon\">Salt</ingredient> <instructions> <step>Mix all ingredients together.</step> <step>Knead thoroughly.</step> <step>Cover with a cloth, and leave for one hour in warm room.</step> <step>Knead again.</step> <step>Place in a bread baking tin.</step> <step>Cover with a cloth, and leave for one hour in warm room.</step> <step>Bake in the oven at 180(degrees)C for 30 minutes.</step> </instructions> </recipe> ";
      j = XML.toJSONObject(s);
      System.out.println(j.toString(4));
      System.out.println();

      j = JSONML.toJSONObject(s);
      System.out.println(j.toString());
      System.out.println(JSONML.toString(j));
      System.out.println();

      a = JSONML.toJSONArray(s);
      System.out.println(a.toString(4));
      System.out.println(JSONML.toString(a));
      System.out.println();

      s =
          "<div id=\"demo\" class=\"JSONML\"><p>JSONML is a transformation between <b>JSON</b> and <b>XML</b> that preserves ordering of document features.</p><p>JSONML can work with JSON arrays or JSON objects.</p><p>Three<br/>little<br/>words</p></div>";
      j = JSONML.toJSONObject(s);
      System.out.println(j.toString(4));
      System.out.println(JSONML.toString(j));
      System.out.println();

      a = JSONML.toJSONArray(s);
      System.out.println(a.toString(4));
      System.out.println(JSONML.toString(a));
      System.out.println();

      s =
          "<person created=\"2006-11-11T19:23\" modified=\"2006-12-31T23:59\">\n <firstName>Robert</firstName>\n <lastName>Smith</lastName>\n <address type=\"home\">\n <street>12345 Sixth Ave</street>\n <city>Anytown</city>\n <state>CA</state>\n <postalCode>98765-4321</postalCode>\n </address>\n </person>";
      j = XML.toJSONObject(s);
      System.out.println(j.toString(4));

      j = new JSONObject(obj);
      System.out.println(j.toString());

      s =
          "{ \"entity\": { \"imageURL\": \"\", \"name\": \"IXXXXXXXXXXXXX\", \"id\": 12336, \"ratingCount\": null, \"averageRating\": null } }";
      j = new JSONObject(s);
      System.out.println(j.toString(2));

      jj = new JSONStringer();
      s =
          jj.object()
              .key("single")
              .value("MARIE HAA'S")
              .key("Johnny")
              .value("MARIE HAA\\'S")
              .key("foo")
              .value("bar")
              .key("baz")
              .array()
              .object()
              .key("quux")
              .value("Thanks, Josh!")
              .endObject()
              .endArray()
              .key("obj keys")
              .value(JSONObject.getNames(obj))
              .endObject()
              .toString();
      System.out.println(s);

      System.out.println(
          new JSONStringer()
              .object()
              .key("a")
              .array()
              .array()
              .array()
              .value("b")
              .endArray()
              .endArray()
              .endArray()
              .endObject()
              .toString());

      jj = new JSONStringer();
      jj.array();
      jj.value(1);
      jj.array();
      jj.value(null);
      jj.array();
      jj.object();
      jj.key("empty-array").array().endArray();
      jj.key("answer").value(42);
      jj.key("null").value(null);
      jj.key("false").value(false);
      jj.key("true").value(true);
      jj.key("big").value(123456789e+88);
      jj.key("small").value(123456789e-88);
      jj.key("empty-object").object().endObject();
      jj.key("long");
      jj.value(9223372036854775807L);
      jj.endObject();
      jj.value("two");
      jj.endArray();
      jj.value(true);
      jj.endArray();
      jj.value(98.6);
      jj.value(-100.0);
      jj.object();
      jj.endObject();
      jj.object();
      jj.key("one");
      jj.value(1.00);
      jj.endObject();
      jj.value(obj);
      jj.endArray();
      System.out.println(jj.toString());

      System.out.println(new JSONArray(jj.toString()).toString(4));

      int ar[] = {1, 2, 3};
      JSONArray ja = new JSONArray(ar);
      System.out.println(ja.toString());

      String sa[] = {"aString", "aNumber", "aBoolean"};
      j = new JSONObject(obj, sa);
      j.put("Testing JSONString interface", obj);
      System.out.println(j.toString(4));

      j =
          new JSONObject(
              "{slashes: '///', closetag: '</script>', backslash:'\\\\', ei: {quotes: '\"\\''},eo: {a: '\"quoted\"', b:\"don't\"}, quotes: [\"'\", '\"']}");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          new JSONObject(
              "{foo: [true, false,9876543210,    0.0, 1.00000001,  1.000000000001, 1.00000000000000001,"
                  + " .00000000000000001, 2.00, 0.1, 2e100, -32,[],{}, \"string\"], "
                  + "  to   : null, op : 'Good',"
                  + "ten:10} postfix comment");
      j.put("String", "98.6");
      j.put("JSONObject", new JSONObject());
      j.put("JSONArray", new JSONArray());
      j.put("int", 57);
      j.put("double", 123456789012345678901234567890.);
      j.put("true", true);
      j.put("false", false);
      j.put("null", JSONObject.NULL);
      j.put("bool", "true");
      j.put("zero", -0.0);
      j.put("\\u2028", "\u2028");
      j.put("\\u2029", "\u2029");
      a = j.getJSONArray("foo");
      a.put(666);
      a.put(2001.99);
      a.put("so \"fine\".");
      a.put("so <fine>.");
      a.put(true);
      a.put(false);
      a.put(new JSONArray());
      a.put(new JSONObject());
      j.put("keys", JSONObject.getNames(j));
      System.out.println(j.toString(4));
      System.out.println(XML.toString(j));

      System.out.println("String: " + j.getDouble("String"));
      System.out.println("  bool: " + j.getBoolean("bool"));
      System.out.println("    to: " + j.getString("to"));
      System.out.println("  true: " + j.getString("true"));
      System.out.println("   foo: " + j.getJSONArray("foo"));
      System.out.println("    op: " + j.getString("op"));
      System.out.println("   ten: " + j.getInt("ten"));
      System.out.println("  oops: " + j.optBoolean("oops"));

      s =
          "<xml one = 1 two=' \"2\" '><five></five>First \u0009&lt;content&gt;<five></five> This is \"content\". <three>  3  </three>JSON does not preserve the sequencing of elements and contents.<three>  III  </three>  <three>  T H R E E</three><four/>Content text is an implied structure in XML. <six content=\"6\"/>JSON does not have implied structure:<seven>7</seven>everything is explicit.<![CDATA[CDATA blocks<are><supported>!]]></xml>";
      j = XML.toJSONObject(s);
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      ja = JSONML.toJSONArray(s);
      System.out.println(ja.toString(4));
      System.out.println(JSONML.toString(ja));
      System.out.println("");

      s =
          "<xml do='0'>uno<a re='1' mi='2'>dos<b fa='3'/>tres<c>true</c>quatro</a>cinqo<d>seis<e/></d></xml>";
      ja = JSONML.toJSONArray(s);
      System.out.println(ja.toString(4));
      System.out.println(JSONML.toString(ja));
      System.out.println("");

      s =
          "<mapping><empty/>   <class name = \"Customer\">      <field name = \"ID\" type = \"string\">         <bind-xml name=\"ID\" node=\"attribute\"/>      </field>      <field name = \"FirstName\" type = \"FirstName\"/>      <field name = \"MI\" type = \"MI\"/>      <field name = \"LastName\" type = \"LastName\"/>   </class>   <class name = \"FirstName\">      <field name = \"text\">         <bind-xml name = \"text\" node = \"text\"/>      </field>   </class>   <class name = \"MI\">      <field name = \"text\">         <bind-xml name = \"text\" node = \"text\"/>      </field>   </class>   <class name = \"LastName\">      <field name = \"text\">         <bind-xml name = \"text\" node = \"text\"/>      </field>   </class></mapping>";
      j = XML.toJSONObject(s);

      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");
      ja = JSONML.toJSONArray(s);
      System.out.println(ja.toString(4));
      System.out.println(JSONML.toString(ja));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<?xml version=\"1.0\" ?><Book Author=\"Anonymous\"><Title>Sample Book</Title><Chapter id=\"1\">This is chapter 1. It is not very long or interesting.</Chapter><Chapter id=\"2\">This is chapter 2. Although it is longer than chapter 1, it is not any more interesting.</Chapter></Book>");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<!DOCTYPE bCard 'http://www.cs.caltech.edu/~adam/schemas/bCard'><bCard><?xml default bCard        firstname = ''        lastname  = '' company   = '' email = '' homepage  = ''?><bCard        firstname = 'Rohit'        lastname  = 'Khare'        company   = 'MCI'        email     = '*****@*****.**'        homepage  = 'http://pest.w3.org/'/><bCard        firstname = 'Adam'        lastname  = 'Rifkin'        company   = 'Caltech Infospheres Project'        email     = '*****@*****.**'        homepage  = 'http://www.cs.caltech.edu/~adam/'/></bCard>");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<?xml version=\"1.0\"?><customer>    <firstName>        <text>Fred</text>    </firstName>    <ID>fbs0001</ID>    <lastName> <text>Scerbo</text>    </lastName>    <MI>        <text>B</text>    </MI></customer>");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<!ENTITY tp-address PUBLIC '-//ABC University::Special Collections Library//TEXT (titlepage: name and address)//EN' 'tpspcoll.sgm'><list type='simple'><head>Repository Address </head><item>Special Collections Library</item><item>ABC University</item><item>Main Library, 40 Circle Drive</item><item>Ourtown, Pennsylvania</item><item>17654 USA</item></list>");
      System.out.println(j.toString());
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<test intertag status=ok><empty/>deluxe<blip sweet=true>&amp;&quot;toot&quot;&toot;&#x41;</blip><x>eks</x><w>bonus</w><w>bonus2</w></test>");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          HTTP.toJSONObject(
              "GET / HTTP/1.0\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*\nAccept-Language: en-us\nUser-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; T312461; Q312461)\nHost: www.nokko.com\nConnection: keep-alive\nAccept-encoding: gzip, deflate\n");
      System.out.println(j.toString(2));
      System.out.println(HTTP.toString(j));
      System.out.println("");

      j =
          HTTP.toJSONObject(
              "HTTP/1.1 200 Oki Doki\nDate: Sun, 26 May 2002 17:38:52 GMT\nServer: Apache/1.3.23 (Unix) mod_perl/1.26\nKeep-Alive: timeout=15, max=100\nConnection: Keep-Alive\nTransfer-Encoding: chunked\nContent-Type: text/html\n");
      System.out.println(j.toString(2));
      System.out.println(HTTP.toString(j));
      System.out.println("");

      j =
          new JSONObject(
              "{nix: null, nux: false, null: 'null', 'Request-URI': '/', Method: 'GET', 'HTTP-Version': 'HTTP/1.0'}");
      System.out.println(j.toString(2));
      System.out.println("isNull: " + j.isNull("nix"));
      System.out.println("   has: " + j.has("nix"));
      System.out.println(XML.toString(j));
      System.out.println(HTTP.toString(j));
      System.out.println("");

      j =
          XML.toJSONObject(
              "<?xml version='1.0' encoding='UTF-8'?>"
                  + "\n\n"
                  + "<SOAP-ENV:Envelope"
                  + " xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\""
                  + " xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\""
                  + " xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\">"
                  + "<SOAP-ENV:Body><ns1:doGoogleSearch"
                  + " xmlns:ns1=\"urn:GoogleSearch\""
                  + " SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
                  + "<key xsi:type=\"xsd:string\">GOOGLEKEY</key> <q"
                  + " xsi:type=\"xsd:string\">'+search+'</q> <start"
                  + " xsi:type=\"xsd:int\">0</start> <maxResults"
                  + " xsi:type=\"xsd:int\">10</maxResults> <filter"
                  + " xsi:type=\"xsd:boolean\">true</filter> <restrict"
                  + " xsi:type=\"xsd:string\"></restrict> <safeSearch"
                  + " xsi:type=\"xsd:boolean\">false</safeSearch> <lr"
                  + " xsi:type=\"xsd:string\"></lr> <ie"
                  + " xsi:type=\"xsd:string\">latin1</ie> <oe"
                  + " xsi:type=\"xsd:string\">latin1</oe>"
                  + "</ns1:doGoogleSearch>"
                  + "</SOAP-ENV:Body></SOAP-ENV:Envelope>");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j =
          new JSONObject(
              "{Envelope: {Body: {\"ns1:doGoogleSearch\": {oe: \"latin1\", filter: true, q: \"'+search+'\", key: \"GOOGLEKEY\", maxResults: 10, \"SOAP-ENV:encodingStyle\": \"http://schemas.xmlsoap.org/soap/encoding/\", start: 0, ie: \"latin1\", safeSearch:false, \"xmlns:ns1\": \"urn:GoogleSearch\"}}}}");
      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");

      j = CookieList.toJSONObject("  f%oo = b+l=ah  ; o;n%40e = t.wo ");
      System.out.println(j.toString(2));
      System.out.println(CookieList.toString(j));
      System.out.println("");

      j = Cookie.toJSONObject("f%oo=blah; secure ;expires = April 24, 2002");
      System.out.println(j.toString(2));
      System.out.println(Cookie.toString(j));
      System.out.println("");

      j =
          new JSONObject(
              "{script: 'It is not allowed in HTML to send a close script tag in a string<script>because it confuses browsers</script>so we insert a backslash before the /'}");
      System.out.println(j.toString());
      System.out.println("");

      JSONTokener jt =
          new JSONTokener("{op:'test', to:'session', pre:1}{op:'test', to:'session', pre:2}");
      j = new JSONObject(jt);
      System.out.println(j.toString());
      System.out.println("pre: " + j.optInt("pre"));
      int i = jt.skipTo('{');
      System.out.println(i);
      j = new JSONObject(jt);
      System.out.println(j.toString());
      System.out.println("");

      a =
          CDL.toJSONArray(
              "Comma delimited list test, '\"Strip\"Quotes', 'quote, comma', No quotes, 'Single Quotes', \"Double Quotes\"\n1,'2',\"3\"\n,'It is \"good,\"', \"It works.\"\n\n");

      s = CDL.toString(a);
      System.out.println(s);
      System.out.println("");
      System.out.println(a.toString(4));
      System.out.println("");
      a = CDL.toJSONArray(s);
      System.out.println(a.toString(4));
      System.out.println("");

      a = new JSONArray(" [\"<escape>\", next is an implied null , , ok,] ");
      System.out.println(a.toString());
      System.out.println("");
      System.out.println(XML.toString(a));
      System.out.println("");

      j =
          new JSONObject(
              "{ fun => with non-standard forms ; forgiving => This package can be used to parse formats that are similar to but not stricting conforming to JSON; why=To make it easier to migrate existing data to JSON,one = [[1.00]]; uno=[[{1=>1}]];'+':+6e66 ;pluses=+++;empty = '' , 'double':0.666,true: TRUE, false: FALSE, null=NULL;[true] = [[!,@;*]]; string=>  o. k. ; \r oct=0666; hex=0x666; dec=666; o=0999; noh=0x0x}");
      System.out.println(j.toString(4));
      System.out.println("");
      if (j.getBoolean("true") && !j.getBoolean("false")) {
        System.out.println("It's all good");
      }

      System.out.println("");
      j = new JSONObject(j, new String[] {"dec", "oct", "hex", "missing"});
      System.out.println(j.toString(4));

      System.out.println("");
      System.out.println(new JSONStringer().array().value(a).value(j).endArray());

      j =
          new JSONObject(
              "{string: \"98.6\", long: 2147483648, int: 2147483647, longer: 9223372036854775807, double: 9223372036854775808}");
      System.out.println(j.toString(4));

      System.out.println("\ngetInt");
      System.out.println("int    " + j.getInt("int"));
      System.out.println("long   " + j.getInt("long"));
      System.out.println("longer " + j.getInt("longer"));
      System.out.println("double " + j.getInt("double"));
      System.out.println("string " + j.getInt("string"));

      System.out.println("\ngetLong");
      System.out.println("int    " + j.getLong("int"));
      System.out.println("long   " + j.getLong("long"));
      System.out.println("longer " + j.getLong("longer"));
      System.out.println("double " + j.getLong("double"));
      System.out.println("string " + j.getLong("string"));

      System.out.println("\ngetDouble");
      System.out.println("int    " + j.getDouble("int"));
      System.out.println("long   " + j.getDouble("long"));
      System.out.println("longer " + j.getDouble("longer"));
      System.out.println("double " + j.getDouble("double"));
      System.out.println("string " + j.getDouble("string"));

      j.put("good sized", 9223372036854775807L);
      System.out.println(j.toString(4));

      a = new JSONArray("[2147483647, 2147483648, 9223372036854775807, 9223372036854775808]");
      System.out.println(a.toString(4));

      System.out.println("\nKeys: ");
      it = j.keys();
      while (it.hasNext()) {
        s = (String) it.next();
        System.out.println(s + ": " + j.getString(s));
      }

      System.out.println("\naccumulate: ");
      j = new JSONObject();
      j.accumulate("stooge", "Curly");
      j.accumulate("stooge", "Larry");
      j.accumulate("stooge", "Moe");
      a = j.getJSONArray("stooge");
      a.put(5, "Shemp");
      System.out.println(j.toString(4));

      System.out.println("\nwrite:");
      System.out.println(j.write(new StringWriter()));

      s = "<xml empty><a></a><a>1</a><a>22</a><a>333</a></xml>";
      j = XML.toJSONObject(s);
      System.out.println(j.toString(4));
      System.out.println(XML.toString(j));

      s =
          "<book><chapter>Content of the first chapter</chapter><chapter>Content of the second chapter      <chapter>Content of the first subchapter</chapter>      <chapter>Content of the second subchapter</chapter></chapter><chapter>Third Chapter</chapter></book>";
      j = XML.toJSONObject(s);
      System.out.println(j.toString(4));
      System.out.println(XML.toString(j));

      a = JSONML.toJSONArray(s);
      System.out.println(a.toString(4));
      System.out.println(JSONML.toString(a));

      Collection c = null;
      Map m = null;

      j = new JSONObject(m);
      a = new JSONArray(c);
      j.append("stooge", "Joe DeRita");
      j.append("stooge", "Shemp");
      j.accumulate("stooges", "Curly");
      j.accumulate("stooges", "Larry");
      j.accumulate("stooges", "Moe");
      j.accumulate("stoogearray", j.get("stooges"));
      j.put("map", m);
      j.put("collection", c);
      j.put("array", a);
      a.put(m);
      a.put(c);
      System.out.println(j.toString(4));

      s =
          "{plist=Apple; AnimalSmells = { pig = piggish; lamb = lambish; worm = wormy; }; AnimalSounds = { pig = oink; lamb = baa; worm = baa;  Lisa = \"Why is the worm talking like a lamb?\" } ; AnimalColors = { pig = pink; lamb = black; worm = pink; } } ";
      j = new JSONObject(s);
      System.out.println(j.toString(4));

      s = " (\"San Francisco\", \"New York\", \"Seoul\", \"London\", \"Seattle\", \"Shanghai\")";
      a = new JSONArray(s);
      System.out.println(a.toString());

      s =
          "<a ichi='1' ni='2'><b>The content of b</b> and <c san='3'>The content of c</c><d>do</d><e></e><d>re</d><f/><d>mi</d></a>";
      j = XML.toJSONObject(s);

      System.out.println(j.toString(2));
      System.out.println(XML.toString(j));
      System.out.println("");
      ja = JSONML.toJSONArray(s);
      System.out.println(ja.toString(4));
      System.out.println(JSONML.toString(ja));
      System.out.println("");

      s =
          "<Root><MsgType type=\"node\"><BatchType type=\"string\">111111111111111</BatchType></MsgType></Root>";
      j = JSONML.toJSONObject(s);
      System.out.println(j);
      ja = JSONML.toJSONArray(s);
      System.out.println(ja);

      System.out.println("\nTesting Exceptions: ");

      System.out.print("Exception: ");
      try {
        a = new JSONArray();
        a.put(Double.NEGATIVE_INFINITY);
        a.put(Double.NaN);
        System.out.println(a.toString());
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(j.getDouble("stooge"));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(j.getDouble("howard"));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(j.put(null, "howard"));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(a.getDouble(0));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(a.get(-1));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        System.out.println(a.put(Double.NaN));
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        j = XML.toJSONObject("<a><b>    ");
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        j = XML.toJSONObject("<a></b>    ");
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        j = XML.toJSONObject("<a></a    ");
      } catch (Exception e) {
        System.out.println(e);
      }
      System.out.print("Exception: ");
      try {
        ja = new JSONArray(new Object());
        System.out.println(ja.toString());
      } catch (Exception e) {
        System.out.println(e);
      }

      System.out.print("Exception: ");
      try {
        s = "[)";
        a = new JSONArray(s);
        System.out.println(a.toString());
      } catch (Exception e) {
        System.out.println(e);
      }

      System.out.print("Exception: ");
      try {
        s = "<xml";
        ja = JSONML.toJSONArray(s);
        System.out.println(ja.toString(4));
      } catch (Exception e) {
        System.out.println(e);
      }

      System.out.print("Exception: ");
      try {
        s = "<right></wrong>";
        ja = JSONML.toJSONArray(s);
        System.out.println(ja.toString(4));
      } catch (Exception e) {
        System.out.println(e);
      }

      System.out.print("Exception: ");
      try {
        s = "{\"koda\": true, \"koda\": true}";
        j = new JSONObject(s);
        System.out.println(j.toString(4));
      } catch (Exception e) {
        System.out.println(e);
      }

      System.out.print("Exception: ");
      try {
        jj = new JSONStringer();
        s =
            jj.object()
                .key("bosanda")
                .value("MARIE HAA'S")
                .key("bosanda")
                .value("MARIE HAA\\'S")
                .endObject()
                .toString();
        System.out.println(j.toString(4));
      } catch (Exception e) {
        System.out.println(e);
      }
    } catch (Exception e) {
      System.out.println(e.toString());
    }
  }
Esempio n. 18
0
  //
  // ONE TIME ADD CITATIONS
  //
  //
  private static void oneTimeAddCitations() {

    String jsonString = "";

    try {
      jsonString = readFile("./json/citations.json", StandardCharsets.UTF_8);
    } catch (IOException e) {
      System.out.println(e);
    }

    try {
      JSONObject rootObject = new JSONObject(jsonString); // Parse the JSON to a JSONObject
      JSONArray rows = rootObject.getJSONArray("stuff"); // Get all JSONArray rows

      System.out.println("row lengths: " + rows.length());

      set1 = new HashSet<>();

      for (int j = 0; j < rows.length(); j++) { // Iterate each element in the elements array
        JSONObject element = rows.getJSONObject(j); // Get the element object

        int id = element.getInt("id");
        int citationNumber = element.getInt("citation_number");
        String citationDate = " ";
        Boolean isCitationDateNull = element.isNull("citation_date");
        if (!isCitationDateNull) citationDate = element.getString("citation_date");
        String firstName = element.getString("first_name");
        String lastName = element.getString("last_name");
        String firstLastName = firstName + lastName;
        firstLastName = firstLastName.toLowerCase();
        set1.add(firstLastName);

        // System.out.println(firstLastName);
        String dob = " ";
        Boolean isDobNull = element.isNull("date_of_birth");
        if (!isDobNull) {
          dob = element.getString("date_of_birth");
          dob = (dob.split(" "))[0];
        }

        // pick a ssn from list
        String ssn = ssnList.get(ssnCounter);
        ssnCounter--;
        ssnHashMap.put(firstLastName, ssn);

        System.out.println(firstLastName + " " + ssn);

        // compute salt
        final Random ran = new SecureRandom();
        byte[] salt = new byte[32];
        ran.nextBytes(salt);
        String saltString = Base64.encodeBase64String(salt);

        // System.out.println("saltstring: " + saltString);
        saltHashMap.put(firstLastName, saltString);

        // compute ripemd160 hash of ssn + salt
        String saltPlusSsn = saltString + ssn;
        // System.out.println("salt plus ssn: " + saltPlusSsn);

        String resultingHash = "";
        try {
          byte[] r = saltPlusSsn.getBytes("US-ASCII");
          RIPEMD160Digest d = new RIPEMD160Digest();
          d.update(r, 0, r.length);
          byte[] o = new byte[d.getDigestSize()];
          d.doFinal(o, 0);
          ByteArrayOutputStream baos = new ByteArrayOutputStream(40);
          Hex.encode(o, baos);
          resultingHash = new String(baos.toByteArray(), StandardCharsets.UTF_8);

          hashedssnHashMap.put(firstLastName, resultingHash);
        } catch (UnsupportedEncodingException e) {
          System.out.println(e);
        } catch (IOException i) {
          System.out.println(i);
        }

        String fldob = firstLastName + dob;
        String da = " ";
        Boolean isDaNull = element.isNull("defendant_address");
        if (!isDaNull) da = element.getString("defendant_address");
        String dc = " ";
        Boolean isDcNull = element.isNull("defendant_city");
        if (!isDcNull) dc = element.getString("defendant_city");
        String ds = " ";
        Boolean isDsNull = element.isNull("defendant_state");
        if (!isDsNull) ds = element.getString("defendant_state");
        String dln = " ";
        Boolean isDlnNull = element.isNull("drivers_license_number");
        if (!isDlnNull) dln = element.getString("drivers_license_number");
        String cd = " ";
        Boolean isCdNull = element.isNull("court_date");
        if (!isCdNull) cd = element.getString("court_date");
        String cl = " ";
        Boolean isClNull = element.isNull("court_location");
        if (!isClNull) cl = element.getString("court_location");
        String ca = " ";
        Boolean isCaNull = element.isNull("court_address");
        if (!isCaNull) ca = element.getString("court_address");
        /*
        Map<String, AttributeValue> item = newCitationItem(citationNumber, citationDate, firstName, lastName, firstLastName, dob, fldob, resultingHash, da, dc, ds, dln, cd, cl, ca);
        PutItemRequest putItemRequest = new PutItemRequest("citations-table", item);
        PutItemResult putItemResult = dynamoDB.putItem(putItemRequest);
        */
      }
    } catch (JSONException e) {
      // JSON Parsing error
      e.printStackTrace();
    }
  }