Example usage for org.json.simple JSONArray toArray

List of usage examples for org.json.simple JSONArray toArray

Introduction

In this page you can find the example usage for org.json.simple JSONArray toArray.

Prototype

@SuppressWarnings("unchecked")
public <T> T[] toArray(T[] a) 

Source Link

Document

Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.

Usage

From source file:com.skelril.ShivtrAuth.AuthenticationCore.java

private synchronized void loadBackupWhiteList() {

    File charactersDirectory = new File(plugin.getDataFolder().getPath() + "/characters");
    File characterFile = new File(charactersDirectory, "character-list.json");
    if (!characterFile.exists()) {
        log.warning("No offline file found!");
        return;/* ww w.  ja va  2s . c  o m*/
    }

    BufferedReader reader = null;
    JSONParser parser = new JSONParser();

    try {
        reader = new BufferedReader(new FileReader(characterFile));
        StringBuilder builder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }

        JSONArray characterArray = ((JSONArray) parser.parse(builder.toString()));
        loadCharacters((JSONObject[]) characterArray.toArray(new JSONObject[characterArray.size()]));
    } catch (IOException e) {
        log.warning("Could not read file: " + characterFile.getName() + ".");
    } catch (ParseException p) {
        log.warning("Could not parse file: " + characterFile.getName() + ".");
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException ignored) {
            }
        }
    }

    log.info("The offline file has been loaded.");
}

From source file:com.skelril.ShivtrAuth.AuthenticationCore.java

public synchronized JSONArray getFrom(String subAddress) {

    JSONArray objective = new JSONArray();
    HttpURLConnection connection = null;
    BufferedReader reader = null;

    try {//from   ww w . j a va 2  s  .co  m
        JSONParser parser = new JSONParser();
        for (int i = 1; true; i++) {

            try {
                // Establish the connection
                URL url = new URL(websiteURL + subAddress + "?page=" + i);
                connection = (HttpURLConnection) url.openConnection();
                connection.setConnectTimeout(1500);
                connection.setReadTimeout(1500);

                // Check response codes return if invalid
                if (connection.getResponseCode() < 200 || connection.getResponseCode() >= 300)
                    return null;

                // Begin to read results
                reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                StringBuilder builder = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line);
                }

                // Parse Data
                JSONObject o = (JSONObject) parser.parse(builder.toString());
                JSONArray ao = (JSONArray) o.get("characters");
                if (ao.isEmpty())
                    break;
                Collections.addAll(objective, (JSONObject[]) ao.toArray(new JSONObject[ao.size()]));
            } catch (ParseException e) {
                break;
            } finally {
                if (connection != null)
                    connection.disconnect();

                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException ignored) {
                    }
                }
            }
        }
    } catch (IOException e) {
        return null;
    }

    return objective;
}

From source file:com.skelril.aurora.authentication.AuthComponent.java

private synchronized void loadBackupWhiteList() {

    File charactersDirectory = new File(inst.getDataFolder().getPath() + "/characters");
    File characterFile = new File(charactersDirectory, "character-list.json");
    if (!characterFile.exists()) {
        log.warning("No offline file found!");
        return;/*w  ww.jav  a2 s .co m*/
    }

    BufferedReader reader = null;
    JSONParser parser = new JSONParser();

    try {
        reader = new BufferedReader(new FileReader(characterFile));
        StringBuilder builder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }

        JSONArray characterArray = ((JSONArray) parser.parse(builder.toString()));
        loadCharacters((JSONObject[]) characterArray.toArray(new JSONObject[characterArray.size()]));
    } catch (IOException e) {
        log.warning("Could not read file: " + characterFile.getName() + ".");
    } catch (ParseException p) {
        log.warning("Could not parse file: " + characterFile.getName() + ".");
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException ignored) {
            }
        }
    }

    log.info("The offline file has been loaded.");
}

From source file:com.skelril.aurora.authentication.AuthComponent.java

public synchronized JSONArray getFrom(String subAddress) {

    JSONArray objective = new JSONArray();
    HttpURLConnection connection = null;
    BufferedReader reader = null;

    try {//from w w  w .j  a va 2s  .co m
        JSONParser parser = new JSONParser();
        for (int i = 1; true; i++) {

            try {
                // Establish the connection
                URL url = new URL(config.websiteUrl + subAddress + "?page=" + i);
                connection = (HttpURLConnection) url.openConnection();
                connection.setConnectTimeout(1500);
                connection.setReadTimeout(1500);

                // Check response codes return if invalid
                if (connection.getResponseCode() < 200 || connection.getResponseCode() >= 300)
                    return null;

                // Begin to read results
                reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                StringBuilder builder = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line);
                }

                // Parse Data
                JSONObject o = (JSONObject) parser.parse(builder.toString());
                JSONArray ao = (JSONArray) o.get("characters");
                if (ao.isEmpty())
                    break;
                Collections.addAll(objective, (JSONObject[]) ao.toArray(new JSONObject[ao.size()]));
            } catch (ParseException e) {
                break;
            } finally {
                if (connection != null)
                    connection.disconnect();

                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException ignored) {
                    }
                }
            }
        }
    } catch (IOException e) {
        return null;
    }

    return objective;
}

From source file:com.skelril.aurora.authentication.AuthComponent.java

public synchronized void updateWhiteList(JSONArray object) {

    // Load the storage directory
    File charactersDirectory = new File(inst.getDataFolder().getPath() + "/characters");
    if (!charactersDirectory.exists())
        charactersDirectory.mkdir();/*  ww  w  . j  a va2  s.co  m*/
    log.info("Updating white list...");

    if (!loadCharacters((JSONObject[]) object.toArray(new JSONObject[object.size()]))) {
        log.info("No changes detected.");
        return;
    }

    // Remove outdated JSON backup files
    for (File file : charactersDirectory.listFiles(filenameFilter)) {
        file.delete();
    }

    // Create new JSON backup file
    BufferedWriter out = null;

    File characterList = new File(charactersDirectory, "character-list.json");
    try {
        if (characterList.createNewFile()) {
            out = new BufferedWriter(new FileWriter(characterList));
            out.write(object.toJSONString());
        } else {
            log.warning("Could not create the new character list offline file!");
        }
    } catch (IOException ignored) {
    } finally {
        if (out != null) {
            try {
                out.close();
            } catch (IOException ignored) {
            }
        }
    }

    log.info("The white list has updated successfully.");
}

From source file:com.skelril.ShivtrAuth.AuthenticationCore.java

public synchronized void updateWhiteList(JSONArray object) {

    // Load the storage directory
    File charactersDirectory = new File(plugin.getDataFolder().getPath() + "/characters");
    if (!charactersDirectory.exists())
        charactersDirectory.mkdir();/*from   w  ww  .  j a  v a 2  s  .  c o m*/
    log.info("Updating white list...");

    // Remove outdated JSON backup files
    for (File file : charactersDirectory.listFiles(filenameFilter)) {
        file.delete();
    }

    // Create new JSON backup file
    BufferedWriter out = null;

    File characterList = new File(charactersDirectory, "character-list.json");
    try {
        if (characterList.createNewFile()) {
            out = new BufferedWriter(new FileWriter(characterList));
            out.write(object.toJSONString());
        } else {
            log.warning("Could not create the new character list offline file!");
        }
    } catch (IOException ignored) {
    } finally {
        if (out != null) {
            try {
                out.close();
            } catch (IOException ignored) {
            }
        }
    }

    loadCharacters((JSONObject[]) object.toArray(new JSONObject[object.size()]));

    log.info("The white list has updated successfully.");
}

From source file:edu.ucsd.library.xdre.web.CollectionOperationController.java

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String message = "";

    Map<String, String[]> paramsMap = null;
    if (ServletFileUpload.isMultipartContent(request)) {
        paramsMap = new HashMap<String, String[]>();
        paramsMap.putAll(request.getParameterMap());
        FileItemFactory factory = new DiskFileItemFactory();

        //Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        List items = null;//  w  w  w.  j av  a 2s. c  o  m
        InputStream in = null;
        ByteArrayOutputStream out = null;
        byte[] buf = new byte[4096];
        List<String> dataItems = new ArrayList<String>();
        List<String> fileNames = new ArrayList<String>();
        try {
            items = upload.parseRequest(request);

            Iterator<FileItem> iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = (FileItem) iter.next();

                out = new ByteArrayOutputStream();
                if (item.isFormField()) {
                    paramsMap.put(item.getFieldName(), new String[] { item.getString() });
                } else {
                    fileNames.add(item.getName());
                    in = item.getInputStream();

                    int bytesRead = -1;
                    while ((bytesRead = in.read(buf)) > 0) {
                        out.write(buf, 0, bytesRead);
                    }
                    dataItems.add(out.toString());
                }
            }
        } catch (FileUploadException e) {
            throw new ServletException(e.getMessage());
        } finally {
            if (in != null) {
                in.close();
                in = null;
            }
            if (out != null) {
                out.close();
                out = null;
            }
        }

        if (dataItems.size() > 0) {
            String[] a = new String[dataItems.size()];
            paramsMap.put("data", dataItems.toArray(a));
            paramsMap.put("fileName", fileNames.toArray(new String[dataItems.size()]));
        }
    } else
        paramsMap = request.getParameterMap();

    String collectionId = getParameter(paramsMap, "category");
    String activeButton = getParameter(paramsMap, "activeButton");
    boolean dataConvert = getParameter(paramsMap, "dataConvert") != null;
    boolean isIngest = getParameter(paramsMap, "ingest") != null;
    boolean isDevUpload = getParameter(paramsMap, "devUpload") != null;
    boolean isBSJhoveReport = getParameter(paramsMap, "bsJhoveReport") != null;
    boolean isSolrDump = getParameter(paramsMap, "solrDump") != null
            || getParameter(paramsMap, "solrRecordsDump") != null;
    boolean isSerialization = getParameter(paramsMap, "serialize") != null;
    boolean isMarcModsImport = getParameter(paramsMap, "marcModsImport") != null;
    boolean isExcelImport = getParameter(paramsMap, "excelImport") != null;
    boolean isCollectionRelease = getParameter(paramsMap, "collectionRelease") != null;
    boolean isFileUpload = getParameter(paramsMap, "fileUpload") != null;
    String fileStore = getParameter(paramsMap, "fs");
    if (activeButton == null || activeButton.length() == 0)
        activeButton = "validateButton";
    HttpSession session = request.getSession();
    session.setAttribute("category", collectionId);
    session.setAttribute("user", request.getRemoteUser());

    String ds = getParameter(paramsMap, "ts");
    if (ds == null || ds.length() == 0)
        ds = Constants.DEFAULT_TRIPLESTORE;

    if (fileStore == null || (fileStore = fileStore.trim()).length() == 0)
        fileStore = null;

    String forwardTo = "/controlPanel.do?ts=" + ds + (fileStore != null ? "&fs=" + fileStore : "");
    if (dataConvert)
        forwardTo = "/pathMapping.do?ts=" + ds + (fileStore != null ? "&fs=" + fileStore : "");
    else if (isIngest) {
        String unit = getParameter(paramsMap, "unit");
        forwardTo = "/ingest.do?ts=" + ds + (fileStore != null ? "&fs=" + fileStore : "")
                + (unit != null ? "&unit=" + unit : "");
    } else if (isDevUpload)
        forwardTo = "/devUpload.do?" + (fileStore != null ? "&fs=" + fileStore : "");
    else if (isSolrDump)
        forwardTo = "/solrDump.do" + (StringUtils.isBlank(collectionId) ? "" : "#colsTab");
    else if (isSerialization)
        forwardTo = "/serialize.do?" + (fileStore != null ? "&fs=" + fileStore : "");
    else if (isMarcModsImport)
        forwardTo = "/marcModsImport.do?";
    else if (isExcelImport)
        forwardTo = "/excelImport.do?";
    else if (isCollectionRelease)
        forwardTo = "/collectionRelease.do?";
    else if (isFileUpload)
        forwardTo = "/fileUpload.do?";

    String[] emails = null;
    String user = request.getRemoteUser();
    if ((!(getParameter(paramsMap, "solrRecordsDump") != null || isBSJhoveReport || isDevUpload || isFileUpload)
            && getParameter(paramsMap, "rdfImport") == null && getParameter(paramsMap, "externalImport") == null
            && getParameter(paramsMap, "dataConvert") == null)
            && getParameter(paramsMap, "marcModsImport") == null
            && getParameter(paramsMap, "excelImport") == null
            && (collectionId == null || (collectionId = collectionId.trim()).length() == 0)) {
        message = "Please choose a collection ...";
    } else {
        String servletId = getParameter(paramsMap, "progressId");
        boolean vRequest = false;
        try {
            vRequest = RequestOrganizer.setReferenceServlet(session, servletId, Thread.currentThread());
        } catch (Exception e) {
            message = e.getMessage();
        }
        if (!vRequest) {
            if (isSolrDump || isCollectionRelease || isFileUpload)
                session.setAttribute("message", message);
            else {
                forwardTo += "&activeButton=" + activeButton;
                forwardTo += "&message=" + message;
            }

            forwordPage(request, response, response.encodeURL(forwardTo));
            return null;
        }

        session.setAttribute("status", "Processing request ...");
        DAMSClient damsClient = null;
        try {
            //user = getUserName(request);
            //email = getUserEmail(request);
            damsClient = new DAMSClient(Constants.DAMS_STORAGE_URL);
            JSONArray mailArr = (JSONArray) damsClient.getUserInfo(user).get("mail");
            if (mailArr != null && mailArr.size() > 0) {
                emails = new String[mailArr.size()];
                mailArr.toArray(emails);
            }
            message = handleProcesses(paramsMap, request.getSession());
        } catch (Exception e) {
            e.printStackTrace();
            //throw new ServletException(e.getMessage());
            message += "<br />Internal Error: " + e.getMessage();
        } finally {
            if (damsClient != null)
                damsClient.close();
        }
    }
    System.out.println("XDRE Manager execution for " + request.getRemoteUser() + " from IP "
            + request.getRemoteAddr() + ": ");
    System.out.println(message.replace("<br />", "\n"));

    try {
        int count = 0;
        String result = (String) session.getAttribute("result");
        while (result != null && result.length() > 0 && count++ < 10) {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            result = (String) session.getAttribute("result");
        }
        RequestOrganizer.clearSession(session);
    } catch (IllegalStateException e) {
        //e.printStackTrace();
    }
    //send email
    try {
        String sender = Constants.MAILSENDER_DAMSSUPPORT;
        if (emails == null && user != null) {
            emails = new String[1];
            emails[0] = user + "@ucsd.edu";
        }
        if (emails == null)
            DAMSClient.sendMail(sender, new String[] { sender },
                    "DAMS Manager Invocation Result - "
                            + Constants.CLUSTER_HOST_NAME.replace("http://", "").replace(".ucsd.edu/", ""),
                    message, "text/html", "smtp.ucsd.edu");
        else
            DAMSClient.sendMail(sender, emails,
                    "DAMS Manager Invocation Result - "
                            + Constants.CLUSTER_HOST_NAME.replace("http://", "").replace(".ucsd.edu/", ""),
                    message, "text/html", "smtp.ucsd.edu");
    } catch (AddressException e) {
        e.printStackTrace();
    } catch (MessagingException e) {
        e.printStackTrace();
    }

    if (isSolrDump || isMarcModsImport || isExcelImport || isCollectionRelease || isFileUpload) {
        session.setAttribute("message", message.replace("\n", "<br />"));
        if (collectionId != null && (isMarcModsImport || isExcelImport || isCollectionRelease))
            forwardTo += "category=" + collectionId;
    } else {
        forwardTo += "&activeButton=" + activeButton;
        if (collectionId != null)
            forwardTo += "&category=" + collectionId;

        forwardTo += "&message=" + URLEncoder.encode(message.replace("\n", "<br />"), "UTF-8");
    }
    System.out.println(forwardTo);
    //String forwardToUrl = "/controlPanel.do?category=" + collectionId + "&message=" + message + "&activeButton=" + activeButton;
    forwordPage(request, response, response.encodeURL(forwardTo));
    return null;
}

From source file:org.wso2.carbon.apimgt.gateway.throttling.util.KeyTemplateRetriever.java

/**
 * This method will retrieve KeyTemplates
 *
 * @return String object array which contains Blocking conditions.
 *///from w w  w . jav  a  2  s.c  o m
private String[] retrieveKeyTemplateData() {

    try {
        ThrottleProperties.BlockCondition blockConditionRetrieverConfiguration = ServiceReferenceHolder
                .getInstance().getThrottleProperties().getBlockCondition();
        String url = blockConditionRetrieverConfiguration.getServiceUrl() + "/keyTemplates";
        byte[] credentials = Base64.encodeBase64((blockConditionRetrieverConfiguration.getUsername() + ":"
                + blockConditionRetrieverConfiguration.getPassword()).getBytes(StandardCharsets.UTF_8));
        HttpGet method = new HttpGet(url);
        method.setHeader("Authorization", "Basic " + new String(credentials, StandardCharsets.UTF_8));
        URL keyMgtURL = new URL(url);
        int keyMgtPort = keyMgtURL.getPort();
        String keyMgtProtocol = keyMgtURL.getProtocol();
        HttpClient httpClient = APIUtil.getHttpClient(keyMgtPort, keyMgtProtocol);
        HttpResponse httpResponse = null;
        int retryCount = 0;
        boolean retry;
        do {
            try {
                httpResponse = httpClient.execute(method);
                retry = false;
            } catch (IOException ex) {
                retryCount++;
                if (retryCount < keyTemplateRetrievalRetries) {
                    retry = true;
                    log.warn("Failed retrieving throttling data from remote endpoint: " + ex.getMessage()
                            + ". Retrying after " + keyTemplateRetrievalTimeoutInSeconds + " seconds...");
                    Thread.sleep(keyTemplateRetrievalTimeoutInSeconds * 1000);
                } else {
                    throw ex;
                }
            }
        } while (retry);

        String responseString = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
        if (responseString != null && !responseString.isEmpty()) {
            JSONArray jsonArray = (JSONArray) new JSONParser().parse(responseString);
            return (String[]) jsonArray.toArray(new String[jsonArray.size()]);
        }
    } catch (IOException | InterruptedException | ParseException e) {
        log.error("Exception when retrieving throttling data from remote endpoint ", e);
    }
    return null;
}

From source file:ru.yandex.translate.YandexTranslateDefaultImpl.java

@Override
public String[] getLangs() throws YandexAPIException {
    setReferer(referer);/*from ww w  . j  a v  a  2 s  .c o m*/
    validate();

    try {
        URL url = new URL(String.format(SERVICE_METHOD_URL, "getLangs"));
        String response = getResponse(url);
        JSONArray jsonArray = (JSONArray) JSONValue.parse(response);

        return (String[]) jsonArray.toArray(new String[jsonArray.size()]);
    } catch (IOException e) {
        throw new YandexAPIException(e);
    }
}

From source file:ru.yandex.translate.YandexTranslateDefaultImpl.java

@Override
public String[] translateArray(String[] text, Language language) throws YandexAPIException {
    setReferer(referer);/*w ww .  j  av  a  2  s  . co m*/
    validate(language, Arrays.toString(text));

    try {
        StringBuilder params = new StringBuilder();
        params.append(PARAM_LANG).append("=").append(URLEncoder.encode(language.toString(), ENCODING));

        for (String str : text) {
            params.append("&").append(PARAM_TEXT).append("=").append(URLEncoder.encode(str, ENCODING));
        }

        URL url = new URL(String.format(SERVICE_METHOD_URL, "translateArray?") + params);
        String response = getResponse(url);
        JSONArray jsonArray = (JSONArray) JSONValue.parse(response);

        return (String[]) jsonArray.toArray(new String[jsonArray.size()]);
    } catch (IOException e) {
        throw new YandexAPIException(e);
    }
}