Example usage for org.json JSONObject getJSONArray

List of usage examples for org.json JSONObject getJSONArray

Introduction

In this page you can find the example usage for org.json JSONObject getJSONArray.

Prototype

public JSONArray getJSONArray(String key) throws JSONException 

Source Link

Document

Get the JSONArray value associated with a key.

Usage

From source file:com.eventattend.portal.bl.FaceBookBL.java

public FaceBookDTO inviteFriend(FaceBookDTO faceBookDTO) {
    FacebookJsonRestClient userClient = null;
    boolean inviteStatus = false;
    userClient = getUserClient((String) faceBookDTO.getAccessToken());
    String friendId = faceBookDTO.getProfileId();
    System.out.println("Facebook inviteFriend >>> " + friendId);

    try {/*from   w  w w.ja v a 2s  .  c o m*/
        JSONObject jsonObject = userClient.notifications_get();

        JSONArray jsonArray = jsonObject.getJSONArray("friend_requests");
        for (int i = 0; i < jsonArray.length(); i++) {
            try {
                Object uId = (Object) jsonArray.get(i);
                if (uId.toString().equals(friendId)) {
                    System.out.println("Has Already invite you & Accept request in FB >>> " + friendId);
                    inviteStatus = true;
                } else {
                    inviteStatus = false;
                }

            } catch (JSONException e) {

                e.printStackTrace();
            }

        }
    } catch (JSONException e) {

        e.printStackTrace();
    } catch (FacebookException e) {
        inviteStatus = false;
        e.printStackTrace();
    }

    faceBookDTO.setFriendAlreadyReqYou(inviteStatus);
    return faceBookDTO;
}

From source file:GUI.FormUsuarios.java

/**
 * Creates new form FormUsuarios/*from   w w  w. ja v  a 2  s. com*/
 */
public FormUsuarios() {
    initComponents();

    HttpResponse response;
    response = JSON.request(Config.URL + "usuarios/listartipos.json");
    JSONObject jObject = JSON.JSON(response);
    try {
        System.out.println(jObject.get("code"));
        JSONArray jsonArr = jObject.getJSONArray("data");

        for (int i = 0; i < jsonArr.length(); i++) {
            JSONObject data = jsonArr.getJSONObject(i);
            cb_tipo.addItem(new listaTipo(data.get("idTipo").toString(), data.get("descripcion").toString()));
            ValoresCombobox.put(data.get("descripcion").toString(),
                    Integer.parseInt(data.get("idTipo").toString()));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

    initializeComponent();
}

From source file:bhaskarandroidnannodegree.popularmoviesstage1.asynctasks.FetchTrailReview.java

/**
 * Take the String representing the complete movie list in JSON Format and
 * pull out the data we need to construct the Strings needed for the wireframes.
 * <p>// www.  j a v  a 2 s.c  o  m
 * Fortunately parsing is easy:  constructor takes the JSON string and converts it
 * into an Object hierarchy for us.
 */
private void getMovieDataFromJson(String movieJsonStr) throws JSONException {

    // These are the names of the JSON objects that need to be extracted.
    final String NAME = "name";
    final String SIZE = "size";
    final String SOURCE = "source";
    final String TYPE = "type";
    final String REVIEW_ID = "id";
    final String GENRE_ID = "id";
    final String AUTHOR = "author";
    final String CONTENT = "content";
    final String URL = "url";
    final String TOTAL_PAGES_REVIEWS = "total_pages";
    final String TOTAL_RESULTS_REVIEWS = "total_results";
    final String PAGE = "page";
    final String MOVIE_ID = "id";

    final String RESULT1 = "trailers";
    final String RESULT2 = "reviews";
    final String RESULT3 = "genres";
    final String YOUTUBE = "youtube";

    try {
        JSONObject movieJson = new JSONObject(movieJsonStr);
        JSONArray movieArrayTrailer = movieJson.getJSONObject(RESULT1).getJSONArray(YOUTUBE);
        JSONObject movieArrayReviews = movieJson.getJSONObject(RESULT2);
        JSONArray movieArrayGenres = movieJson.getJSONArray(RESULT3);

        String movie_id = movieJson.getString(MOVIE_ID);

        for (int i = 0; i < movieArrayTrailer.length(); i++) {

            JSONObject trailerInfo = movieArrayTrailer.getJSONObject(i);

            String name;
            String size;
            String source;
            String type;
            name = trailerInfo.getString(NAME);
            size = trailerInfo.getString(SIZE);
            source = trailerInfo.getString(SOURCE);
            type = trailerInfo.getString(TYPE);

            TrailerInfo trailer = new TrailerInfo();
            trailer.setName(name);
            trailer.setSize(size);
            trailer.setSource(source);
            trailer.setType(type);

            listTrailers.add(trailer);

        }

        String page = movieArrayReviews.getString(PAGE);
        String total_page = movieArrayReviews.getString(TOTAL_PAGES_REVIEWS);
        String total_results = movieArrayReviews.getString(TOTAL_RESULTS_REVIEWS);

        JSONArray reviews = movieArrayReviews.getJSONArray("results");

        for (int j = 0; j < reviews.length(); j++) {

            JSONObject reviewsInfo = reviews.getJSONObject(j);

            String id;
            String author;
            String content;
            String url;
            id = reviewsInfo.getString(REVIEW_ID);
            author = reviewsInfo.getString(AUTHOR);
            content = reviewsInfo.getString(CONTENT);
            url = reviewsInfo.getString(URL);

            MovieReview review = new MovieReview();
            review.setId(id);
            review.setAuthor(author);
            review.setContent(content);
            review.setUrl(url);

            listMovieReviews.add(review);
        }

        for (int i = 0; i < movieArrayGenres.length(); i++) {

            JSONObject gen = movieArrayGenres.getJSONObject(i);
            String genre_id = gen.getString(GENRE_ID);
            String name = gen.getString(NAME);

        }

    } catch (JSONException e) {
        //Log.e(LOG_TAG, e.getMessage(), e);
        e.printStackTrace();
    }
}

From source file:org.apache.cordova.contacts.ContactAccessor.java

/**
 * Create a hash map of what data needs to be populated in the Contact object
 * @param fields the list of fields to populate
 * @return the hash map of required data
 *///from w  ww  .j  ava 2s  .c o  m
protected HashMap<String, Boolean> buildPopulationSet(JSONObject options) {
    HashMap<String, Boolean> map = new HashMap<String, Boolean>();

    String key;
    try {
        JSONArray desiredFields = null;
        if (options != null && options.has("desiredFields")) {
            desiredFields = options.getJSONArray("desiredFields");
        }
        if (desiredFields == null || desiredFields.length() == 0) {
            map.put("displayName", true);
            map.put("name", true);
            map.put("nickname", true);
            map.put("phoneNumbers", true);
            map.put("emails", true);
            map.put("addresses", true);
            map.put("ims", true);
            map.put("organizations", true);
            map.put("birthday", true);
            map.put("note", true);
            map.put("urls", true);
            map.put("photos", true);
            map.put("categories", true);
        } else {
            for (int i = 0; i < desiredFields.length(); i++) {
                key = desiredFields.getString(i);
                if (key.startsWith("displayName")) {
                    map.put("displayName", true);
                } else if (key.startsWith("name")) {
                    map.put("displayName", true);
                    map.put("name", true);
                } else if (key.startsWith("nickname")) {
                    map.put("nickname", true);
                } else if (key.startsWith("phoneNumbers")) {
                    map.put("phoneNumbers", true);
                } else if (key.startsWith("emails")) {
                    map.put("emails", true);
                } else if (key.startsWith("addresses")) {
                    map.put("addresses", true);
                } else if (key.startsWith("ims")) {
                    map.put("ims", true);
                } else if (key.startsWith("organizations")) {
                    map.put("organizations", true);
                } else if (key.startsWith("birthday")) {
                    map.put("birthday", true);
                } else if (key.startsWith("note")) {
                    map.put("note", true);
                } else if (key.startsWith("urls")) {
                    map.put("urls", true);
                } else if (key.startsWith("photos")) {
                    map.put("photos", true);
                } else if (key.startsWith("categories")) {
                    map.put("categories", true);
                }
            }
        }
    } catch (JSONException e) {
        Log.e(LOG_TAG, e.getMessage(), e);
    }
    return map;
}

From source file:org.eclipse.orion.server.cf.handlers.v1.AppsHandlerV1.java

private IStatus getApps(Target target) throws Exception {
    String appsUrl = target.getSpace().getCFJSON().getJSONObject("entity").getString("apps_url");
    //      appsUrl = appsUrl.replaceAll("apps", "summary");
    URI appsURI = URIUtil.toURI(target.getUrl()).resolve(appsUrl);

    GetMethod getAppsMethod = new GetMethod(appsURI.toString());
    HttpUtil.configureHttpMethod(getAppsMethod, target);
    getAppsMethod.setQueryString("inline-relations-depth=2"); //$NON-NLS-1$

    ServerStatus getAppsStatus = HttpUtil.executeMethod(getAppsMethod);
    if (!getAppsStatus.isOK())
        return getAppsStatus;

    /* extract available apps */
    JSONObject appsJSON = getAppsStatus.getJsonData();

    if (appsJSON.getInt(CFProtocolConstants.V2_KEY_TOTAL_RESULTS) < 1) {
        return new ServerStatus(IStatus.OK, HttpServletResponse.SC_OK, null, null);
    }/*from  w  w  w.j  av  a2  s .co m*/

    JSONObject result = new JSONObject();
    JSONArray resources = appsJSON.getJSONArray(CFProtocolConstants.V2_KEY_RESOURCES);
    for (int k = 0; k < resources.length(); ++k) {
        JSONObject appJSON = resources.getJSONObject(k);
        App2 app = new App2();
        app.setCFJSON(appJSON);
        result.append("Apps", app.toJSON());
    }

    return new ServerStatus(Status.OK_STATUS, HttpServletResponse.SC_OK, result);
}

From source file:com.flym.echo24.activity.EditFeedActivity.java

/**
 * This is where the bulk of our work is done. This function is called in a background thread and should generate a new set of data to be
 * published by the loader./*from  w  w  w .jav a 2  s .  co m*/
 */
@Override
public ArrayList<HashMap<String, String>> loadInBackground() {
    try {
        HttpURLConnection conn = NetworkUtils
                .setupConnection("https://ajax.googleapis.com/ajax/services/feed/find?v=1.0&q=" + mSearchText);
        try {
            String jsonStr = new String(NetworkUtils.getBytes(conn.getInputStream()));

            // Parse results
            final ArrayList<HashMap<String, String>> results = new ArrayList<>();
            JSONObject response = new JSONObject(jsonStr).getJSONObject("responseData");
            JSONArray entries = response.getJSONArray("entries");
            for (int i = 0; i < entries.length(); i++) {
                try {
                    JSONObject entry = (JSONObject) entries.get(i);
                    String url = entry.get(EditFeedActivity.FEED_SEARCH_URL).toString();
                    if (!url.isEmpty()) {
                        HashMap<String, String> map = new HashMap<>();
                        map.put(EditFeedActivity.FEED_SEARCH_TITLE, Html
                                .fromHtml(entry.get(EditFeedActivity.FEED_SEARCH_TITLE).toString()).toString());
                        map.put(EditFeedActivity.FEED_SEARCH_URL, url);
                        map.put(EditFeedActivity.FEED_SEARCH_DESC, Html
                                .fromHtml(entry.get(EditFeedActivity.FEED_SEARCH_DESC).toString()).toString());

                        results.add(map);
                    }
                } catch (Exception ignored) {
                }
            }

            return results;
        } finally {
            conn.disconnect();
        }
    } catch (Exception e) {
        return null;
    }
}

From source file:org.adminmap.core.ubuntu.NetworkConfiguration.java

@Override
public void fromJSONString(String json) {

    JSONObject jsonObject = new JSONObject(json);

    this.ipAddress = jsonObject.getString("ipAddress");
    this.subnetMask = jsonObject.getString("subnetMask");
    this.broadcastAddress = jsonObject.getString("broadcastAddress");
    this.defaultGateway = jsonObject.getString("defaultGateway");

    JSONArray jsonArray = jsonObject.getJSONArray("nameservers");
    this.nameservers = new String[jsonArray.length()];

    for (int i = 0; i < jsonArray.length(); i++)
        this.nameservers[i] = (jsonArray.getString(i));

}

From source file:com.linkedpipes.plugin.loader.dcatAp11ToCkanBatch.DcatAp11ToCkanBatch.java

@Override
public void execute() throws LpException {

    apiURI = configuration.getApiUri();/*www.ja va2 s.  c o m*/

    if (apiURI == null || apiURI.isEmpty() || configuration.getApiKey() == null
            || configuration.getApiKey().isEmpty()) {
        throw exceptionFactory.failure("Missing required settings.");
    }

    Map<String, String> organizations = getOrganizations();

    LOG.debug("Querying metadata for datasets");

    LinkedList<String> datasets = new LinkedList<>();
    for (Map<String, Value> map : executeSelectQuery(
            "SELECT ?d WHERE {?d a <" + DcatAp11ToCkanBatchVocabulary.DCAT_DATASET_CLASS + ">}")) {
        datasets.add(map.get("d").stringValue());
    }

    int current = 0;
    int total = datasets.size();

    LOG.info("Found " + total + " datasets");

    progressReport.start(total);

    for (String datasetURI : datasets) {
        current++;

        CloseableHttpResponse queryResponse = null;

        LOG.info("Processing dataset " + current + "/" + total + ": " + datasetURI);

        String datasetID = executeSimpleSelectQuery("SELECT ?did WHERE {<" + datasetURI + "> <"
                + DcatAp11ToCkanBatchVocabulary.LODCZCKAN_DATASET_ID + "> ?did }", "did");
        if (datasetID.isEmpty()) {
            LOG.warn("Dataset " + datasetURI + " has missing CKAN ID");
            continue;
        }

        boolean datasetExists = false;

        Map<String, String> resUrlIdMap = new HashMap<>();
        Map<String, String> resDistroIdMap = new HashMap<>();
        Map<String, JSONObject> resourceList = new HashMap<>();

        LOG.debug("Querying for the dataset " + datasetID + " in CKAN");
        HttpGet httpGet = new HttpGet(apiURI + "/package_show?id=" + datasetID);
        try {
            queryResponse = queryClient.execute(httpGet);
            if (queryResponse.getStatusLine().getStatusCode() == 200) {
                LOG.debug("Dataset found");
                datasetExists = true;

                JSONObject response = new JSONObject(EntityUtils.toString(queryResponse.getEntity()))
                        .getJSONObject("result");
                JSONArray resourcesArray = response.getJSONArray("resources");
                for (int i = 0; i < resourcesArray.length(); i++) {
                    String id = resourcesArray.getJSONObject(i).getString("id");
                    resourceList.put(id, resourcesArray.getJSONObject(i));

                    String url = resourcesArray.getJSONObject(i).getString("url");
                    resUrlIdMap.put(url, id);

                    if (resourcesArray.getJSONObject(i).has("distro_url")) {
                        String distro = resourcesArray.getJSONObject(i).getString("distro_url");
                        resDistroIdMap.put(distro, id);
                    }
                }
            } else {
                String ent = EntityUtils.toString(queryResponse.getEntity());
                LOG.debug("Dataset not found: " + ent);
            }
        } catch (Exception e) {
            LOG.error(e.getLocalizedMessage(), e);
        } finally {
            if (queryResponse != null) {
                try {
                    queryResponse.close();
                } catch (IOException e) {
                    LOG.error(e.getLocalizedMessage(), e);
                }
            }
        }

        LinkedList<String> keywords = new LinkedList<>();
        for (Map<String, Value> map : executeSelectQuery(
                "SELECT ?keyword WHERE {<" + datasetURI + "> <" + DcatAp11ToCkanBatchVocabulary.DCAT_KEYWORD
                        + "> ?keyword FILTER(LANGMATCHES(LANG(?keyword), \"" + configuration.getLoadLanguage()
                        + "\"))}")) {
            keywords.add(map.get("keyword").stringValue());
        }

        String publisher_uri = executeSimpleSelectQuery("SELECT ?publisher_uri WHERE {<" + datasetURI + "> <"
                + DCTERMS.PUBLISHER + "> ?publisher_uri }", "publisher_uri");
        String publisher_name = executeSimpleSelectQuery(
                "SELECT ?publisher_name WHERE {<" + datasetURI + "> <" + DCTERMS.PUBLISHER + ">/<" + FOAF.NAME
                        + "> ?publisher_name FILTER(LANGMATCHES(LANG(?publisher_name), \""
                        + configuration.getLoadLanguage() + "\"))}",
                "publisher_name");

        if (!organizations.containsKey(publisher_uri)) {
            LOG.debug("Creating organization " + publisher_uri);
            JSONObject root = new JSONObject();

            if (publisher_name == null || publisher_name.isEmpty()) {
                throw exceptionFactory.failure("Organization has no name: " + publisher_uri);
            }

            root.put("title", publisher_name);
            String orgname = Normalizer.normalize(publisher_name, Normalizer.Form.NFD)
                    .replaceAll("\\P{InBasic_Latin}", "").replace(' ', '-').replace('.', '-').toLowerCase();
            root.put("name", orgname);
            JSONArray org_extras = new JSONArray();
            org_extras.put(new JSONObject().put("key", "uri").put("value", publisher_uri));
            root.put("extras", org_extras);

            HttpPost httpPost = new HttpPost(apiURI + "/organization_create");
            httpPost.addHeader(new BasicHeader("Authorization", configuration.getApiKey()));

            String json = root.toString();

            httpPost.setEntity(new StringEntity(json, Charset.forName("utf-8")));

            CloseableHttpResponse response = null;

            try {
                response = postClient.execute(httpPost);
                if (response.getStatusLine().getStatusCode() == 200) {
                    LOG.debug("Organization created OK");
                    //LOG.info("Response: " + EntityUtils.toString(response.getEntity()));
                    organizations.put(publisher_uri, orgname);
                } else if (response.getStatusLine().getStatusCode() == 409) {
                    String ent = EntityUtils.toString(response.getEntity());
                    LOG.error("Organization conflict: " + ent);
                    throw exceptionFactory.failure("Organization conflict: " + ent);
                } else {
                    String ent = EntityUtils.toString(response.getEntity());
                    LOG.error("Response:" + ent);
                    throw exceptionFactory.failure("Error creating organization: " + ent);
                }
            } catch (Exception e) {
                LOG.error(e.getLocalizedMessage(), e);
            } finally {
                if (response != null) {
                    try {
                        response.close();
                    } catch (IOException e) {
                        LOG.error(e.getLocalizedMessage(), e);
                        throw exceptionFactory.failure("Error creating dataset");
                    }
                }
            }
        }

        LOG.debug("Creating JSON");

        JSONObject root = new JSONObject();

        JSONArray tags = new JSONArray();
        for (String keyword : keywords) {
            String safekeyword = fixKeyword(keyword);
            if (safekeyword.length() >= 2) {
                tags.put(new JSONObject().put("name", safekeyword));
            }
        }
        root.put("tags", tags);

        JSONArray resources = new JSONArray();

        if (!datasetID.isEmpty()) {
            root.put("name", datasetID);
        }

        String title = executeSimpleSelectQuery("SELECT ?title WHERE {<" + datasetURI + "> <" + DCTERMS.TITLE
                + "> ?title FILTER(LANGMATCHES(LANG(?title), \"" + configuration.getLoadLanguage() + "\"))}",
                "title");
        if (!title.isEmpty()) {
            root.put("title", title);
        }
        String description = executeSimpleSelectQuery("SELECT ?description WHERE {<" + datasetURI + "> <"
                + DCTERMS.DESCRIPTION + "> ?description FILTER(LANGMATCHES(LANG(?description), \""
                + configuration.getLoadLanguage() + "\"))}", "description");
        if (!description.isEmpty()) {
            root.put("notes", description);
        }
        String contactPoint = executeSimpleSelectQuery("SELECT ?contact WHERE {<" + datasetURI + "> <"
                + DcatAp11ToCkanBatchVocabulary.DCAT_CONTACT_POINT + ">/<"
                + DcatAp11ToCkanBatchVocabulary.VCARD_HAS_EMAIL + "> ?contact }", "contact");
        if (!contactPoint.isEmpty()) {
            root.put("maintainer_email", contactPoint);
        }
        String curatorName = executeSimpleSelectQuery(
                "SELECT ?name WHERE {<" + datasetURI + "> <" + DcatAp11ToCkanBatchVocabulary.DCAT_CONTACT_POINT
                        + ">/<" + DcatAp11ToCkanBatchVocabulary.VCARD_FN + "> ?name }",
                "name");
        if (!curatorName.isEmpty()) {
            root.put("maintainer", curatorName);
        }
        String issued = executeSimpleSelectQuery(
                "SELECT ?issued WHERE {<" + datasetURI + "> <" + DCTERMS.ISSUED + "> ?issued }", "issued");
        if (!issued.isEmpty()) {
            root.put("metadata_created", issued);
        }
        String modified = executeSimpleSelectQuery(
                "SELECT ?modified WHERE {<" + datasetURI + "> <" + DCTERMS.MODIFIED + "> ?modified }",
                "modified");
        if (!modified.isEmpty()) {
            root.put("metadata_modified", modified);
        }

        if (configuration.getProfile().equals(DcatAp11ToCkanBatchVocabulary.PROFILES_NKOD.stringValue())) {
            if (!publisher_uri.isEmpty()) {
                root.put("publisher_uri", publisher_uri);
            }
            if (!publisher_name.isEmpty()) {
                root.put("publisher_name", publisher_name);
            }

            String periodicity = executeSimpleSelectQuery("SELECT ?periodicity WHERE {<" + datasetURI + "> <"
                    + DCTERMS.ACCRUAL_PERIODICITY + "> ?periodicity }", "periodicity");
            if (!periodicity.isEmpty()) {
                root.put("frequency", periodicity);
            }
            String temporalStart = executeSimpleSelectQuery(
                    "SELECT ?temporalStart WHERE {<" + datasetURI + "> <" + DCTERMS.TEMPORAL + ">/<"
                            + DcatAp11ToCkanBatchVocabulary.SCHEMA_STARTDATE + "> ?temporalStart }",
                    "temporalStart");
            if (!temporalStart.isEmpty()) {
                root.put("temporal_start", temporalStart);
            }
            String temporalEnd = executeSimpleSelectQuery(
                    "SELECT ?temporalEnd WHERE {<" + datasetURI + "> <" + DCTERMS.TEMPORAL + ">/<"
                            + DcatAp11ToCkanBatchVocabulary.SCHEMA_ENDDATE + "> ?temporalEnd }",
                    "temporalEnd");
            if (!temporalEnd.isEmpty()) {
                root.put("temporal_end", temporalEnd);
            }
            String schemaURL = executeSimpleSelectQuery(
                    "SELECT ?schema WHERE {<" + datasetURI + "> <" + FOAF.PAGE + "> ?schema }", "schema");
            if (!schemaURL.isEmpty()) {
                root.put("schema", schemaURL);
            }
            String spatial = executeSimpleSelectQuery(
                    "SELECT ?spatial WHERE {<" + datasetURI + "> <" + DCTERMS.SPATIAL + "> ?spatial }",
                    "spatial");
            if (!spatial.isEmpty()) {
                root.put("spatial_uri", spatial);
            }
            LinkedList<String> themes = new LinkedList<>();
            for (Map<String, Value> map : executeSelectQuery("SELECT ?theme WHERE {<" + datasetURI + "> <"
                    + DcatAp11ToCkanBatchVocabulary.DCAT_THEME + "> ?theme }")) {
                themes.add(map.get("theme").stringValue());
            }
            String concatThemes = "";
            for (String theme : themes) {
                concatThemes += theme + " ";
            }
            if (!concatThemes.isEmpty())
                root.put("theme", concatThemes);

        }

        //Distributions

        LinkedList<String> distributions = new LinkedList<>();
        for (Map<String, Value> map : executeSelectQuery("SELECT ?distribution WHERE {<" + datasetURI + "> <"
                + DcatAp11ToCkanBatchVocabulary.DCAT_DISTRIBUTION + "> ?distribution }")) {
            distributions.add(map.get("distribution").stringValue());
        }

        for (String distribution : distributions) {
            JSONObject distro = new JSONObject();

            String dtitle = executeSimpleSelectQuery("SELECT ?title WHERE {<" + distribution + "> <"
                    + DCTERMS.TITLE + "> ?title FILTER(LANGMATCHES(LANG(?title), \""
                    + configuration.getLoadLanguage() + "\"))}", "title");
            if (!dtitle.isEmpty()) {
                distro.put("name", dtitle);
            }
            String ddescription = executeSimpleSelectQuery("SELECT ?description WHERE {<" + distribution + "> <"
                    + DCTERMS.DESCRIPTION + "> ?description FILTER(LANGMATCHES(LANG(?description), \""
                    + configuration.getLoadLanguage() + "\"))}", "description");
            if (!ddescription.isEmpty()) {
                distro.put("description", ddescription);
            }
            //DCAT-AP v1.1: has to be am IRI from http://publications.europa.eu/mdr/authority/file-type/index.html
            String dformat = executeSimpleSelectQuery(
                    "SELECT ?format WHERE {<" + distribution + "> <" + DCTERMS.FORMAT + "> ?format }",
                    "format");
            if (!dformat.isEmpty() && codelists != null) {
                String formatlabel = executeSimpleCodelistSelectQuery(
                        "SELECT ?formatlabel WHERE {<" + dformat + "> <" + SKOS.PREF_LABEL
                                + "> ?formatlabel FILTER(LANGMATCHES(LANG(?formatlabel), \"en\"))}",
                        "formatlabel");
                if (!formatlabel.isEmpty()) {
                    distro.put("format", formatlabel);
                }
            }

            String dwnld = executeSimpleSelectQuery("SELECT ?dwnld WHERE {<" + distribution + "> <"
                    + DcatAp11ToCkanBatchVocabulary.DCAT_DOWNLOADURL + "> ?dwnld }", "dwnld");
            String access = executeSimpleSelectQuery("SELECT ?acc WHERE {<" + distribution + "> <"
                    + DcatAp11ToCkanBatchVocabulary.DCAT_ACCESSURL + "> ?acc }", "acc");

            //we prefer downloadURL, but only accessURL is mandatory
            if (dwnld == null || dwnld.isEmpty()) {
                dwnld = access;
                if (dwnld == null || dwnld.isEmpty()) {
                    LOG.warn("Empty download and access URLs: " + datasetURI);
                    continue;
                }
            }

            if (!dwnld.isEmpty()) {
                distro.put("url", dwnld);
            }
            if (!distribution.isEmpty()) {
                distro.put("distro_url", distribution);
            }

            distro.put("resource_type", "file");

            if (resDistroIdMap.containsKey(distribution)) {
                String id = resDistroIdMap.get(distribution);
                distro.put("id", id);
                resourceList.remove(id);
            } else if (resUrlIdMap.containsKey(dwnld)) {
                String id = resUrlIdMap.get(dwnld);
                distro.put("id", id);
                resourceList.remove(id);
            }

            String dissued = executeSimpleSelectQuery(
                    "SELECT ?issued WHERE {<" + distribution + "> <" + DCTERMS.ISSUED + "> ?issued }",
                    "issued");
            if (!dissued.isEmpty()) {
                distro.put("created", dissued);
            }
            String dmodified = executeSimpleSelectQuery(
                    "SELECT ?modified WHERE {<" + distribution + "> <" + DCTERMS.MODIFIED + "> ?modified }",
                    "modified");
            if (!dmodified.isEmpty()) {
                distro.put("last_modified", dmodified);
            }

            if (configuration.getProfile().equals(DcatAp11ToCkanBatchVocabulary.PROFILES_NKOD.stringValue())) {
                String dtemporalStart = executeSimpleSelectQuery(
                        "SELECT ?temporalStart WHERE {<" + distribution + "> <" + DCTERMS.TEMPORAL + ">/<"
                                + DcatAp11ToCkanBatchVocabulary.SCHEMA_STARTDATE + "> ?temporalStart }",
                        "temporalStart");
                if (!dtemporalStart.isEmpty()) {
                    distro.put("temporal_start", dtemporalStart);
                }
                String dtemporalEnd = executeSimpleSelectQuery(
                        "SELECT ?temporalEnd WHERE {<" + distribution + "> <" + DCTERMS.TEMPORAL + ">/<"
                                + DcatAp11ToCkanBatchVocabulary.SCHEMA_ENDDATE + "> ?temporalEnd }",
                        "temporalEnd");
                if (!dtemporalEnd.isEmpty()) {
                    distro.put("temporal_end", dtemporalEnd);
                }
                String dspatial = executeSimpleSelectQuery(
                        "SELECT ?spatial WHERE {<" + distribution + "> <" + DCTERMS.SPATIAL + "> ?spatial }",
                        "spatial");
                if (!dspatial.isEmpty()) {
                    root.put("spatial_uri", dspatial);
                }
                String dschemaURL = executeSimpleSelectQuery(
                        "SELECT ?schema WHERE {<" + distribution + "> <" + DCTERMS.CONFORMS_TO + "> ?schema }",
                        "schema");
                if (!dschemaURL.isEmpty()) {
                    distro.put("describedBy", dschemaURL);
                }
                String dlicense = executeSimpleSelectQuery(
                        "SELECT ?license WHERE {<" + distribution + "> <" + DCTERMS.LICENSE + "> ?license }",
                        "license");
                if (!dlicense.isEmpty()) {
                    distro.put("license_link", dlicense);
                }
                String dmimetype = executeSimpleSelectQuery("SELECT ?format WHERE {<" + distribution + "> <"
                        + DcatAp11ToCkanBatchVocabulary.DCAT_MEDIATYPE + "> ?format }", "format");
                if (!dmimetype.isEmpty()) {
                    distro.put("mimetype", dmimetype.replaceAll(".*\\/([^\\/]+\\/[^\\/]+)", "$1"));
                }
            }

            resources.put(distro);
        }

        //Add the remaining distributions that were not updated but existed in the original dataset
        for (Entry<String, JSONObject> resource : resourceList.entrySet()) {
            resources.put(resource.getValue());
        }

        root.put("resources", resources);

        //Create new dataset
        if (!datasetExists) {
            JSONObject createRoot = new JSONObject();
            CloseableHttpResponse response = null;

            createRoot.put("name", datasetID);
            createRoot.put("title", title);
            createRoot.put("owner_org", organizations.get(publisher_uri));

            LOG.debug("Creating dataset in CKAN");
            HttpPost httpPost = new HttpPost(apiURI + "/package_create?id=" + datasetID);
            httpPost.addHeader(new BasicHeader("Authorization", configuration.getApiKey()));

            String json = createRoot.toString();

            LOG.debug("Creating dataset with: " + json);

            httpPost.setEntity(new StringEntity(json, Charset.forName("utf-8")));

            try {
                response = createClient.execute(httpPost);
                if (response.getStatusLine().getStatusCode() == 200) {
                    LOG.debug("Dataset created OK");
                    //LOG.info("Response: " + EntityUtils.toString(response.getEntity()));
                } else if (response.getStatusLine().getStatusCode() == 409) {
                    String ent = EntityUtils.toString(response.getEntity());
                    LOG.error("Dataset already exists: " + ent);
                    throw exceptionFactory.failure("Dataset already exists");
                } else {
                    String ent = EntityUtils.toString(response.getEntity());
                    LOG.error("Response:" + ent);
                    throw exceptionFactory.failure("Error creating dataset");
                }
            } catch (Exception e) {
                LOG.error(e.getLocalizedMessage(), e);
            } finally {
                if (response != null) {
                    try {
                        response.close();
                    } catch (IOException e) {
                        LOG.error(e.getLocalizedMessage(), e);
                        throw exceptionFactory.failure("Error creating dataset");
                    }
                }
            }
        }

        //Update existing dataset
        String json = root.toString();
        LOG.debug("Posting to CKAN");
        HttpPost httpPost = new HttpPost(apiURI + "/package_update?id=" + datasetID);
        httpPost.addHeader(new BasicHeader("Authorization", configuration.getApiKey()));

        LOG.debug(json);

        httpPost.setEntity(new StringEntity(json, Charset.forName("utf-8")));
        CloseableHttpResponse response = null;

        try {
            response = postClient.execute(httpPost);
            if (response.getStatusLine().getStatusCode() == 200) {
                //LOG.info("Response:" + EntityUtils.toString(response.getEntity()));
            } else {
                String ent = EntityUtils.toString(response.getEntity());
                LOG.error("Response:" + ent);
                throw exceptionFactory.failure("Error updating dataset");
            }
        } catch (Exception e) {
            LOG.error(e.getLocalizedMessage(), e);
        } finally {
            if (response != null) {
                try {
                    response.close();
                } catch (IOException e) {
                    LOG.error(e.getLocalizedMessage(), e);
                    throw exceptionFactory.failure("Error updating dataset");
                }
            }
        }

        progressReport.entryProcessed();
    }

    try {
        queryClient.close();
        createClient.close();
        postClient.close();
    } catch (IOException e) {
        LOG.error(e.getLocalizedMessage(), e);
    }

    progressReport.done();

}

From source file:es.deustotech.piramide.utils.net.JSONParser.java

public static Vector<Point> parseFromUrl(HttpEntity httpEntity) {
    if (httpEntity != null) {
        InputStream inStream;// w w w  .j av  a  2 s.  com
        try {
            inStream = httpEntity.getContent();
            result = convertStreamToString(inStream);
            points = new Vector<Point>();
            final JSONObject jsonObj = new JSONObject(result);

            final JSONObject result = jsonObj.getJSONObject(Constants.JSON_RESPONSE_DATA);

            //show 8 results
            for (int i = 0; i < 8; i++) {
                final JSONObject resultAux = (JSONObject) result.getJSONArray(Constants.JSON_RESULTS).get(i);
                //               final JSONObject phoneAux    = (JSONObject) resultAux.getJSONArray(Constants.JSON_PHONE_NUMBERS).get(0);

                final Point point = new Point(resultAux.getString(Constants.JSON_TITLE),
                        resultAux.getString(Constants.JSON_STREET), resultAux.getString(Constants.JSON_LAT),
                        resultAux.getString(Constants.JSON_LNG)

                /*new PhoneNumbers(phoneAux.getString(Constants.JSON_TYPE), 
                phoneAux.getString(Constants.JSON_NUMBER)), 
                resultAux.getString(Constants.JSON_CITY), 
                resultAux.getString(Constants.JSON_TITLE), 
                resultAux.getString(Constants.JSON_REGION), 
                resultAux.getString(Constants.JSON_TITLE_NO_FORMATTING), 
                resultAux.getString(Constants.JSON_STREET), 
                resultAux.getJSONArray(Constants.JSON_ADDRESS_LINES).getString(0), 
                resultAux.getString(Constants.JSON_COUNTRY), 
                resultAux.getString(Constants.JSON_LAT), 
                resultAux.getString(Constants.JSON_LNG),
                resultAux.getString(Constants.JSON_TO_HERE), 
                resultAux.getString(Constants.JSON_FROM_HERE)*/);

                points.add(point);
            }

            //            final JSONObject phoneAux    = (JSONObject) result.getJSONArray(Constants.JSON_PHONE_NUMBERS).get(0);

            /*
            Log.i(Constants.TAG, "<jsonobject>\n" + jsonObj.toString() + "\n</jsonobject>");
                    
            final JSONArray nameArray    = jsonObj.names();
            final JSONArray valArray    = jsonObj.toJSONArray(nameArray);
                    
            for(int i=0; i<valArray.length(); i++) {
               Log.e(Constants.TAG, "<jsonname" + i + ">\n" + nameArray.getString(i) + "\n</jsonname" + i + ">\n" 
             + "<jsonvalue" + i + ">\n" + valArray.getString(i) + "\n</jsonvalue" + i + ">");
            }
            jsonObj.put(Constants.SAMPLE_KEY, Constants.SAMPLE_VALUE);
                    
            Log.i(Constants.TAG, "<jsonobject>\n" + jsonObj.toString() + "\n</jsonobject>");
             */

            inStream.close();
        } catch (IllegalStateException ise) {
            Log.d(Constants.TAG, ise.getMessage());
        } catch (IOException ioe) {
            Log.d(Constants.TAG, ioe.getMessage());
        } catch (JSONException je) {
            Log.d(Constants.TAG, je.getMessage());
        }
    } // If the response does not enclose an entity, there is no need
      // to worry about connection release
    return points;
}

From source file:src.Parser.java

public static void main(String[] args) throws JSONException {
    HttpQuery http = new HttpQuery();
    String response = "";
    try {/* w w w.  jav  a 2 s.c  o  m*/
        response = http.send(
                "http://router.project-osrm.org/viaroute?loc=50.4423,30.5298&loc=50.4433,30.5151&z=0&instructions=true&geometry=false");
    } catch (Exception ex) {
        Logger.getLogger(Parser.class.getName()).log(Level.SEVERE, null, ex);
    }
    JSONObject obj = new JSONObject(response);
    JSONArray arr = obj.getJSONArray("route_instructions");
    JSONArray arr2;
    for (int i = 0; i < arr.length(); i++) {
        arr2 = arr.getJSONArray(i);
        String str = arr2.getString(0) + ", " + arr2.getString(1) + ", " + arr2.getInt(2) + ", "
                + arr2.getInt(3) + ", " + arr2.getInt(4);
        System.out.println(str);

        System.out.println();
    }
    System.out.println();
    System.out.println(response);
}