Example usage for org.json.simple JSONArray toString

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

Introduction

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

Prototype

@Override
    public String toString() 

Source Link

Usage

From source file:gov.nih.nci.rembrandt.web.inbox.QueryInbox.java

public String checkAllDownloadStatus() {

    try {//from w w  w. ja va  2s  .c o m
        rbtCaArrayFileDownloadManagerInterface = ApplicationContext.getCaArrayFileDownloadManagerInterface();
        JSONArray dlArray = new JSONArray();
        JSONObject dlObject = new JSONObject();
        if (rbtCaArrayFileDownloadManagerInterface == null) {
            dlObject.put("name", "caArray server unavaiable");
            dlObject.put("status", DownloadStatus.Error);
            dlObject.put("url", "");
            dlObject.put("size", "");
        } else {
            rbtCaArrayFileDownloadManagerInterface
                    .setBusinessCacheManager(ApplicationFactory.getBusinessTierCache());
            Collection<DownloadTask> downloads = rbtCaArrayFileDownloadManagerInterface
                    .getAllSessionDownloads(session.getId());

            //////// TESTing
            //         dlObject.put("name", "My first download");
            //         dlObject.put("status", "downloading");
            //         dlArray.add(dlObject);
            //         dlObject = new JSONObject();
            //         dlObject.put("name", "My second download");
            //         dlObject.put("status", "zipping");
            //         dlArray.add(dlObject);
            ////// END TESTING

            for (DownloadTask dl : downloads) {
                if (dl.getListOfZipFileLists() == null) {
                    dlObject = new JSONObject();
                    dlObject.put("name", dl.getZipFileName());
                    dlObject.put("status", dl.getDownloadStatus().toString());
                    if (dl.getZipFileName() != null)
                        dlObject.put("url", zipFileUrl + dl.getZipFileName());
                    else
                        dlObject.put("url", "");

                    ;
                    if (dl.getZipFileSize() != null)
                        dlObject.put("size", FileUtils.byteCountToDisplaySize(dl.getZipFileSize()));
                    else
                        dlObject.put("size", "");

                    dlArray.add(dlObject);
                } else {
                    List<ZipItem> zipItems = dl.getListOfZipFileLists();
                    for (ZipItem zi : zipItems) {
                        dlObject = new JSONObject();
                        dlObject.put("name", zi.getFileName());
                        dlObject.put("status", dl.getDownloadStatus().toString());
                        if (zi.getFileName() != null)
                            dlObject.put("url", zipFileUrl + zi.getFileName());
                        else
                            dlObject.put("url", "");

                        ;
                        if (zi.getFileSize() != null)
                            dlObject.put("size", FileUtils.byteCountToDisplaySize(zi.getFileSize()));
                        else
                            dlObject.put("size", "");

                        dlArray.add(dlObject);
                    }
                }
            }
        }
        return dlArray.toString();

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return "error";
    }
}

From source file:dbProcs.Getter.java

/**
 * Use to return the current progress of a class in JSON format with information like userid, user name and score
 * @param applicationRoot The current running context of the application
 * @param classId The identifier of the class to use in lookup
 * @return A JSON representation of a class's score in the order {id, username, userTitle, score, scale, place, order, 
 * goldmedalcount, goldDisplay, silverMedalCount, silverDisplay, bronzeDisplay, bronzeMedalCount}
 *///from   www.  j av  a  2s.  c  om
@SuppressWarnings("unchecked")
public static String getJsonScore(String applicationRoot, String classId) {
    log.debug("classId: " + classId);
    String result = new String();
    Connection conn = Database.getCoreConnection(applicationRoot);
    try {
        Encoder encoder = ESAPI.encoder();
        //Returns User's: Name, # of Completed modules and Score
        CallableStatement callstmnt = null;
        if (ScoreboardStatus.getScoreboardClass().isEmpty() && !ScoreboardStatus.isClassSpecificScoreboard())
            callstmnt = conn.prepareCall("call totalScoreboard()"); //Open Scoreboard not based on a class
        else {
            callstmnt = conn.prepareCall("call classScoreboard(?)"); //Class Scoreboard based on classId
            callstmnt.setString(1, classId);
        }
        //log.debug("Executing classScoreboard");
        ResultSet resultSet = callstmnt.executeQuery();
        JSONArray json = new JSONArray();
        JSONObject jsonInner = new JSONObject();
        int resultAmount = 0;
        int prevPlace = 0;
        int prevScore = 0;
        int prevGold = 0;
        int prevSilver = 0;
        int prevBronze = 0;
        float baseBarScale = 0; //
        float tieBreaker = 0;
        while (resultSet.next()) //For each user in a class
        {
            resultAmount++;
            jsonInner = new JSONObject();
            if (resultSet.getString(1) != null) {
                int place = resultAmount;
                int score = resultSet.getInt(3);
                int goldMedals = resultSet.getInt(4);
                int silverMedals = resultSet.getInt(5);
                int bronzeMedals = resultSet.getInt(6);
                if (resultAmount == 1) //First Place is Returned First, so this will be the biggest bar on the scoreboard
                {
                    int highscore = score;
                    //log.debug("Current Highscore Listing is " + highscore);
                    //Use the high score to scale the width of the bars for the whole scoreboard
                    float maxBarScale = 1.02f; //High Score bar will have a scale of 1 //This will get used when a scale is added to the scoreboard
                    baseBarScale = highscore * maxBarScale;
                    //setting up variables for Tie Scenario Placings
                    prevPlace = 1;
                    prevScore = score;
                } else {
                    //Does this score line match the one before (Score and Medals)? if so the place shouldnt change
                    if (score == prevScore && goldMedals == prevGold && silverMedals == prevSilver
                            && bronzeMedals == prevBronze) {
                        place = prevPlace;
                        tieBreaker = tieBreaker + 0.01f;
                    } else {
                        prevScore = score;
                        prevPlace = place;
                        prevGold = goldMedals;
                        prevSilver = silverMedals;
                        prevBronze = bronzeMedals;
                        tieBreaker = 0;
                    }
                }
                String displayMedal = new String("display: inline;");
                String goldDisplayStyle = new String("display: none;");
                String silverDisplayStyle = new String("display: none;");
                String bronzeDisplayStyle = new String("display: none;");
                if (goldMedals > 0)
                    goldDisplayStyle = displayMedal;
                if (silverMedals > 0)
                    silverDisplayStyle = displayMedal;
                if (bronzeMedals > 0)
                    bronzeDisplayStyle = displayMedal;

                int barScale = (int) ((score * 100) / baseBarScale); //bar scale is the percentage the bar should be of the row's context (Highest Possible is depends on scale set in maxBarScale. eg: maxBarScale = 1.1 would mean the max scale would be 91% for a single row)

                String userMedalString = new String();
                if (goldMedals > 0 || silverMedals > 0 || bronzeMedals > 0) {
                    userMedalString += " holding ";
                    if (goldMedals > 0)
                        userMedalString += goldMedals + " gold";
                    if (silverMedals > 0) {
                        if (goldMedals > 0) //Medals Before, puncuate
                        {
                            if (bronzeMedals > 0) //more medals after silver? Comma
                            {
                                userMedalString += ", ";
                            } else //Say And
                            {
                                userMedalString += " and ";
                            }
                        }
                        userMedalString += silverMedals + " silver";
                    }
                    if (bronzeMedals > 0) {
                        if (goldMedals > 0 || silverMedals > 0) //Medals Before?
                        {
                            userMedalString += " and ";
                        }
                        userMedalString += bronzeMedals + " bronze";
                    }
                    //Say Medal(s) at the end of the string
                    userMedalString += " medal";
                    if (goldMedals + silverMedals + bronzeMedals > 1)
                        userMedalString += "s";
                }

                jsonInner.put("id", new String(encoder.encodeForHTML(resultSet.getString(1)))); //User Id
                jsonInner.put("username", new String(encoder.encodeForHTML(resultSet.getString(2)))); //User Name
                jsonInner.put("userTitle", new String(encoder.encodeForHTML(resultSet.getString(2)) + " with "
                        + score + " points" + userMedalString)); //User name encoded for title attribute
                jsonInner.put("score", new Integer(score)); //Score
                jsonInner.put("scale", barScale); //Scale of score bar
                jsonInner.put("place", place); //Place on board
                jsonInner.put("order", (place + tieBreaker)); //Order on board
                jsonInner.put("goldMedalCount", new Integer(goldMedals));
                jsonInner.put("goldDisplay", goldDisplayStyle);
                jsonInner.put("silverMedalCount", new Integer(silverMedals));
                jsonInner.put("silverDisplay", silverDisplayStyle);
                jsonInner.put("bronzeMedalCount", new Integer(bronzeMedals));
                jsonInner.put("bronzeDisplay", bronzeDisplayStyle);
                //log.debug("Adding: " + jsonInner.toString());
                json.add(jsonInner);
            }
        }
        if (resultAmount > 0)
            result = json.toString();
        else
            result = new String();
    } catch (SQLException e) {
        log.error("getJsonScore Failure: " + e.toString());
        result = null;
    } catch (Exception e) {
        log.error("getJsonScore Unexpected Failure: " + e.toString());
        result = null;
    }
    Database.closeConnection(conn);
    //log.debug("*** END getJsonScore ***");
    return result;
}

From source file:gwap.rest.NewPicture.java

@GET
@Path("/newpicture")
@Produces(MediaType.APPLICATION_JSON)//from  w w  w . ja  va 2  s .c  om
public Response getRandomNewPictures(@QueryParam("count") String count, @QueryParam("userid") String deviceId) {
    List<ArtResource> artResources = getRandomPictures(count, deviceId, ArtResource.ORIGIN_APP_USER);
    JSONArray jsonArray = new JSONArray();
    for (ArtResource artResource : artResources) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("id", artResource.getId());
        //         jsonObject.put("latitude", artResource.getShownLocation().getGeoRepresentation().get(0).getGeoPoint().getLatitude());
        //         jsonObject.put("longitude", artResource.getShownLocation().getGeoRepresentation().get(0).getGeoPoint().getLongitude());
        jsonObject.put("name", artResource.getShownLocation().getName());
        jsonObject.put("likes", 0);
        jsonObject.put("dislikes", 0);
        jsonObject.put("imageData",
                "/9j/4AAQSkZJRgABAQEBLAEsAAD/+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAXcAAAI2QAAAAgASQBNAEcAXwAwADEAMAA5AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAjZAAAF3AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAF3AAAAABSZ2h0bG9uZwAACNkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAABdwAAAAAU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XN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOllDYkNyUG9zaXRpb25pbmc9IjIiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TWFrZT0iQ2Fub24iIHRpZmY6TW9kZWw9IkNhbm9uIEVPUyA0MDBEIERJR0lUQUwiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtDNkNGMjVFQjExNDk2NTY5QzI3QjcxRTNDQzU3MzM4MSIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDctMTVUMTM6NDM6MDgrMDI6MDAiIHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZXhpZjpFeGlmVmVyc2lvbj0iMDIyMSIgZXhpZjpGbGFzaHBpeFZlcnNpb249IjAxMDAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjIyNjUiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxNTAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RXhwb3N1cmVUaW1lPSIxLzE2MCIgZXhpZjpGTnVtYmVyPSIyMi8xIiBleGlmOkV4cG9zdXJlUHJvZ3JhbT0iMSIgZXhpZjpTaHV0dGVyU3BlZWRWYWx1ZT0iNDc5ODUwLzY1NTM2IiBleGlmOkFwZXJ0dXJlVmFsdWU9IjU4NDUwNy82NTUzNiIgZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT0iMC8zIiBleGlmOk1ldGVyaW5nTW9kZT0iNSIgZXhpZjpGb2NhbExlbmd0aD0iNDIvMSIgZXhpZjpGb2NhbFBsYW5lWFJlc29sdXRpb249IjM4ODgwMDAvODc3IiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMjU5MjAwMC81ODIiIGV4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PSIyIiBleGlmOkN1c3RvbVJlbmRlcmVkPSIwIiBleGlmOkV4cG9zdXJlTW9kZT0iMSIgZXhpZjpXaGl0ZUJhbGFuY2U9IjAiIGV4aWY6U2NlbmVDYXB0dXJlVHlwZT0iMCIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDswRTA0N0U4NDAxNDM0REEwRjJGNzI2QzgzN0IwQkM5RiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6N0NDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6N0JDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiPiA8ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlmOlJldHVybj0iMCIgZXhpZjpNb2RlPSIyIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRFeWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZ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");
        jsonArray.add(jsonObject);
    }

    return Response.ok(jsonArray.toString(), MediaType.APPLICATION_JSON).build();
}

From source file:gwap.rest.LocationService.java

/**
 * Locations a user may visit in the App
 * @param latitude// ww  w . j  a  v  a 2  s  . co  m
 * @param longitude
 * @param deviceId
 * @return
 */
@GET
@Produces(MediaType.APPLICATION_JSON)
@SuppressWarnings("unchecked")
public Response getGameLocations(@QueryParam("currentLatitude") String latitude,
        @QueryParam("currentLongitude") String longitude, @QueryParam("userid") String deviceId,
        @QueryParam("topic") Long topic) {

    if (latitude == null || longitude == null) {
        return Response.status(Response.Status.BAD_REQUEST).build();
    } else {
        Query locationQuery = entityManager.createNamedQuery("artResource.gameLocations");
        locationQuery.setParameter("virtualTaggingTypeId", topic);
        locationQuery.setParameter("deviceId", deviceId);
        locationQuery.setMaxResults(10);
        List<ArtResource> locations = locationQuery.getResultList();

        JSONArray gameLocations = new JSONArray();
        JSONObject gameLocationJSON;
        Double min, distance;
        int minIndex;
        ArtResource gameLocation;
        double currentLatitude = Double.parseDouble(latitude);
        double currentLongitude = Double.parseDouble(longitude);

        // Berechnet die Orte, die im Laufe des Spiels vom Spieler besucht werden
        // Dabei wird immer der geographisch nahste Ort zum Spieler, bzw. zum Tatort
        // zuvor berechnet
        for (int i = 0; i < 4; i++) {
            // Das erste Minimum ist der Abstand vom Spieler zur ersten Location
            gameLocation = locations.get(0);
            GeoPoint geoPoint = gameLocation.getShownLocation().getSingleGeoPoint();
            min = getDistance(currentLatitude, currentLongitude, geoPoint.getLatitude(),
                    geoPoint.getLongitude());
            minIndex = 0;
            // Fuer alle ueberigen Locations: Uberpruefen, ob eine dieser Locations naeher als die erste ist.
            for (int j = 1; j < locations.size(); j++) {
                gameLocation = locations.get(j);
                geoPoint = gameLocation.getShownLocation().getSingleGeoPoint();
                distance = getDistance(currentLatitude, currentLongitude, geoPoint.getLatitude(),
                        geoPoint.getLongitude());
                if (distance < min) {
                    min = distance;
                    minIndex = j;
                }
            }
            // Konstruiere das JSON-Objekt des gefundenen Ortes
            gameLocation = locations.get(minIndex);
            gameLocationJSON = new JSONObject();
            gameLocationJSON.put("id", gameLocation.getId());
            gameLocationJSON.put("name", gameLocation.getShownLocation().getName());
            gameLocationJSON.put("latitude", gameLocation.getShownLocation().getSingleGeoPoint().getLatitude());
            gameLocationJSON.put("longitude",
                    gameLocation.getShownLocation().getSingleGeoPoint().getLongitude());
            gameLocationJSON.put("distance", min);
            gameLocationJSON.put("imageData",
                    "/9j/4AAQSkZJRgABAQEBLAEsAAD/7RnuUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAccAgAAAgBtADhCSU0EJQAAAAAAEPb4nvFpKJtEmKJ0gv1yb4Q4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAXcAAAI2QAAAAgASQBNAEcAXwAwADEAMAA5AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAjZAAAF3AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAF3AAAAABSZ2h0bG9uZwAACNkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA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OjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOllDYkNyUG9zaXRpb25pbmc9IjIiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TWFrZT0iQ2Fub24iIHRpZmY6TW9kZWw9IkNhbm9uIEVPUyA0MDBEIERJR0lUQUwiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtDNkNGMjVFQjExNDk2NTY5QzI3QjcxRTNDQzU3MzM4MSIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDctMTVUMTM6NDM6MDgrMDI6MDAiIHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZXhpZjpFeGlmVmVyc2lvbj0iMDIyMSIgZXhpZjpGbGFzaHBpeFZlcnNpb249IjAxMDAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjIyNjUiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxNTAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RXhwb3N1cmVUaW1lPSIxLzE2MCIgZXhpZjpGTnVtYmVyPSIyMi8xIiBleGlmOkV4cG9zdXJlUHJvZ3JhbT0iMSIgZXhpZjpTaHV0dGVyU3BlZWRWYWx1ZT0iNDc5ODUwLzY1NTM2IiBleGlmOkFwZXJ0dXJlVmFsdWU9IjU4NDUwNy82NTUzNiIgZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT0iMC8zIiBleGlmOk1ldGVyaW5nTW9kZT0iNSIgZXhpZjpGb2NhbExlbmd0aD0iNDIvMSIgZXhpZjpGb2NhbFBsYW5lWFJlc29sdXRpb249IjM4ODgwMDAvODc3IiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMjU5MjAwMC81ODIiIGV4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PSIyIiBleGlmOkN1c3RvbVJlbmRlcmVkPSIwIiBleGlmOkV4cG9zdXJlTW9kZT0iMSIgZXhpZjpXaGl0ZUJhbGFuY2U9IjAiIGV4aWY6U2NlbmVDYXB0dXJlVHlwZT0iMCIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDswRTA0N0U4NDAxNDM0REEwRjJGNzI2QzgzN0IwQkM5RiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6N0NDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6N0JDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiPiA8ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlmOlJldHVybj0iMCIgZXhpZjpNb2RlPSIyIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRFeWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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"); // TODO: Create Url with Access to image
            gameLocationJSON.put("description", gameLocation.getTeasers().get(0).getDescription());

            // Fuege es der Liste aller Gamelocations hinzu
            gameLocations.add(gameLocationJSON);

            // Der Standort, von dem weitergesucht wird ist der Standort der letzten Gamelocation
            currentLatitude = gameLocation.getShownLocation().getSingleGeoPoint().getLatitude();
            currentLongitude = gameLocation.getShownLocation().getSingleGeoPoint().getLongitude();
            // Die aktuelle Gamelocation kann nicht mehr besucht werden, wird also aus der Liste entfernt
            locations.remove(minIndex);
        }
        return Response.ok(gameLocations.toString(), MediaType.APPLICATION_JSON).build();
    }
}

From source file:gwap.rest.UserPicture.java

@GET
@Produces(MediaType.APPLICATION_JSON)//from w  w w  .  j a v  a2  s.  c o m
@Path("/userpicture")
public Response getRandomUserpictures(@QueryParam("count") String count,
        @QueryParam("userid") String deviceId) {
    List<ArtResource> artResources = getRandomPictures(count, deviceId, ArtResource.ORIGIN_APP_CRIMESCENE);
    JSONArray jsonArray = new JSONArray();
    for (ArtResource artResource : artResources) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("id", artResource.getId());
        //         jsonObject.put("latitude", artResource.getShownLocation().getGeoRepresentation().get(0).getGeoPoint().getLatitude());
        //         jsonObject.put("longitude", artResource.getShownLocation().getGeoRepresentation().get(0).getGeoPoint().getLongitude());
        jsonObject.put("likes", 0);
        jsonObject.put("dislikes", 0);
        jsonObject.put("imageData_user",
                "/9j/4AAQSkZJRgABAQEBLAEsAAD/7RnuUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAccAgAAAgBtADhCSU0EJQAAAAAAEPb4nvFpKJtEmKJ0gv1yb4Q4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAXcAAAI2QAAAAgASQBNAEcAXwAwADEAMAA5AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAjZAAAF3AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAF3AAAAABSZ2h0bG9uZwAACNkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA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OjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOllDYkNyUG9zaXRpb25pbmc9IjIiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TWFrZT0iQ2Fub24iIHRpZmY6TW9kZWw9IkNhbm9uIEVPUyA0MDBEIERJR0lUQUwiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtDNkNGMjVFQjExNDk2NTY5QzI3QjcxRTNDQzU3MzM4MSIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDctMTVUMTM6NDM6MDgrMDI6MDAiIHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZXhpZjpFeGlmVmVyc2lvbj0iMDIyMSIgZXhpZjpGbGFzaHBpeFZlcnNpb249IjAxMDAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjIyNjUiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxNTAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RXhwb3N1cmVUaW1lPSIxLzE2MCIgZXhpZjpGTnVtYmVyPSIyMi8xIiBleGlmOkV4cG9zdXJlUHJvZ3JhbT0iMSIgZXhpZjpTaHV0dGVyU3BlZWRWYWx1ZT0iNDc5ODUwLzY1NTM2IiBleGlmOkFwZXJ0dXJlVmFsdWU9IjU4NDUwNy82NTUzNiIgZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT0iMC8zIiBleGlmOk1ldGVyaW5nTW9kZT0iNSIgZXhpZjpGb2NhbExlbmd0aD0iNDIvMSIgZXhpZjpGb2NhbFBsYW5lWFJlc29sdXRpb249IjM4ODgwMDAvODc3IiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMjU5MjAwMC81ODIiIGV4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PSIyIiBleGlmOkN1c3RvbVJlbmRlcmVkPSIwIiBleGlmOkV4cG9zdXJlTW9kZT0iMSIgZXhpZjpXaGl0ZUJhbGFuY2U9IjAiIGV4aWY6U2NlbmVDYXB0dXJlVHlwZT0iMCIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDswRTA0N0U4NDAxNDM0REEwRjJGNzI2QzgzN0IwQkM5RiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6N0NDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6N0JDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiPiA8ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlmOlJldHVybj0iMCIgZXhpZjpNb2RlPSIyIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRFeWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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");
        jsonObject.put("imageData_artigo",
                "/9j/4AAQSkZJRgABAQEBLAEsAAD/7RnuUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAccAgAAAgBtADhCSU0EJQAAAAAAEPb4nvFpKJtEmKJ0gv1yb4Q4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAXcAAAI2QAAAAgASQBNAEcAXwAwADEAMAA5AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAjZAAAF3AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAF3AAAAABSZ2h0bG9uZwAACNkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA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OjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOllDYkNyUG9zaXRpb25pbmc9IjIiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TWFrZT0iQ2Fub24iIHRpZmY6TW9kZWw9IkNhbm9uIEVPUyA0MDBEIERJR0lUQUwiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtDNkNGMjVFQjExNDk2NTY5QzI3QjcxRTNDQzU3MzM4MSIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDctMTVUMTM6NDM6MDgrMDI6MDAiIHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZXhpZjpFeGlmVmVyc2lvbj0iMDIyMSIgZXhpZjpGbGFzaHBpeFZlcnNpb249IjAxMDAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjIyNjUiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxNTAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RXhwb3N1cmVUaW1lPSIxLzE2MCIgZXhpZjpGTnVtYmVyPSIyMi8xIiBleGlmOkV4cG9zdXJlUHJvZ3JhbT0iMSIgZXhpZjpTaHV0dGVyU3BlZWRWYWx1ZT0iNDc5ODUwLzY1NTM2IiBleGlmOkFwZXJ0dXJlVmFsdWU9IjU4NDUwNy82NTUzNiIgZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT0iMC8zIiBleGlmOk1ldGVyaW5nTW9kZT0iNSIgZXhpZjpGb2NhbExlbmd0aD0iNDIvMSIgZXhpZjpGb2NhbFBsYW5lWFJlc29sdXRpb249IjM4ODgwMDAvODc3IiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMjU5MjAwMC81ODIiIGV4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PSIyIiBleGlmOkN1c3RvbVJlbmRlcmVkPSIwIiBleGlmOkV4cG9zdXJlTW9kZT0iMSIgZXhpZjpXaGl0ZUJhbGFuY2U9IjAiIGV4aWY6U2NlbmVDYXB0dXJlVHlwZT0iMCIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDswRTA0N0U4NDAxNDM0REEwRjJGNzI2QzgzN0IwQkM5RiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6N0NDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6N0JDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiPiA8ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlmOlJldHVybj0iMCIgZXhpZjpNb2RlPSIyIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRFeWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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");
        jsonArray.add(jsonObject);
    }
    return Response.ok(jsonArray.toString(), MediaType.APPLICATION_JSON).build();
}

From source file:Opm_Package.New_CommitsInterval.java

public Object[] getCommitsNow(String projectName, String date1, String date2, int i, String[] toks)
        throws org.json.simple.parser.ParseException {

    System.out.println(i + "\t\t\t : " + date1 + "\t\t - " + date2);

    ///..........................................
    String location = "location";
    long public_repos = 0;
    long public_gists = 0;
    long followers = 0;
    long following = 0;
    String createdAt = "#######";
    String updatedAt = "#######";
    String login = "login######";
    String loginURL = "";
    JSONObject loginObj = null;//w ww  .jav  a 2s .com
    long changed = 0, added = 0, deleted = 0;

    ArrayList<String> shaLists = new ArrayList<>();
    ArrayList<String> logList = new ArrayList<>();

    Set<String> loginSet = new LinkedHashSet<String>();
    Set<String> locationSet = new LinkedHashSet<String>();
    Set<String> nameSet = new LinkedHashSet<String>();
    Set<String> emailSet = new LinkedHashSet<String>();
    Set<String> createdSet = new LinkedHashSet<String>();
    Set<String> updatedSet = new LinkedHashSet<String>();

    List<Long> cList = new ArrayList<>();
    List<Long> aList = new ArrayList<>();
    List<Long> dList = new ArrayList<>();

    ArrayList<List<String>> list = new ArrayList<List<String>>();
    JSONParser parser = new JSONParser();

    int p = 1; // Page number parameter
    //int i = 0; // Commit Counter
    int ct = 0;
    int count = 0;

    while (true) {////loop thru the pagess....
        if (ct == (toks.length - 1)) {/// the the index for the tokens array...
            ct = 0; //// go back to the first index......
        }
        String jsonString = callURL("https://api.github.com/repos/" + projectName + "/commits?page=" + p
                + "&per_page=100&since=" + date1 + "&until=" + date2 + "&access_token=" + toks[ct++]);

        JSONArray jsonArray = (JSONArray) parser.parse(jsonString);
        if (jsonArray.toString().equals("[]")) {
            /// Break out of the loop, when empty array is found!
            break;
        }

        for (Object jsonObj : jsonArray) {
            count++;

            JSONObject jsonObject = (JSONObject) jsonObj;
            String shaa = (String) jsonObject.get("sha");
            shaLists.add(shaa);/// Add to the List
            JSONObject commitsObj = (JSONObject) jsonObject.get("commit");
            JSONObject authorObj = (JSONObject) commitsObj.get("author");
            ///..........................................
            String name = (String) authorObj.get("name");
            String email = (String) authorObj.get("email");
            String date = (String) authorObj.get("date");
            //......................................
            if (ct == (toks.length - 1)) {/// the the index for the tokens array...
                ct = 0; //// go back to the first index......
            }
            String commitsShaURL = callURL("https://api.github.com/repos/" + projectName + "/commits/" + shaa
                    + "?access_token=" + toks[ct++]);
            JSONObject allObj = (JSONObject) parser.parse(commitsShaURL);
            ////
            JSONObject logObj = (JSONObject) allObj.get("author");

            JSONArray fileArray = (JSONArray) allObj.get("files");
            long chh = 0, add = 0, del = 0;
            if (!fileArray.toString().equals("[]")) {
                /// Now we also need to get the Login Details,,the corresponding followes and following

                List<String> comList = new ArrayList<>();
                // String lgg = "###########";

                for (int a = 0; a < fileArray.size(); a++) {
                    JSONObject fileObj = (JSONObject) fileArray.get(a);
                    chh += (long) fileObj.get("changes");
                    add += (long) fileObj.get("additions");
                    del += (long) fileObj.get("deletions");

                }

            }
            cList.add(chh);
            aList.add(add);
            dList.add(del);

            nameSet.add(name);
            emailSet.add(email);
            if (ct == (toks.length - 1)) {/// the the index for the tokens array...
                ct = 0; //// go back to the first index......
            }
            /// Now we also need to get the Login Details,,the corresponding followes and following
            JSONObject loginAuthorObj = (JSONObject) jsonObject.get("author");
            /// Checking for null objects...
            if (logObj != null) {
                login = (String) loginAuthorObj.get("login");
                loginSet.add(login);
                logList.add(login);
                /// Preventing dublicates using see............
                //**********************************************
            } //......................................

            if (logObj == null) {
                loginSet.add("login######");
                logList.add("login######");
            }

            //logList.add(login);

            if (ct == (toks.length - 1)) {/// the the index for the tokens array...
                ct = 0; //// go back to the first index......
            }
            //############################################################### ***********

        } /// *** End of for loop for JSon Object.....
        p++;//// Goto the next Page.......
    } // ******* End of while loop....

    // create an iterator
    Iterator iterator = loginSet.iterator();
    Iterator name = nameSet.iterator();
    Iterator email = emailSet.iterator(); ///

    List<String> lList = new ArrayList<>(); //// We 
    ArrayList<String> nList = new ArrayList<>();
    ArrayList<String> eList = new ArrayList<>();
    ArrayList<String> locList = new ArrayList<>();

    //            

    while (iterator.hasNext()) {
        String l = (String) iterator.next();
        //if(!l.equals("")){
        lList.add(l);
        //}

    }
    while (name.hasNext()) {
        nList.add((String) name.next());
    }
    while (email.hasNext()) {
        eList.add((String) email.next());
    }

    /// This is where we shall store the list of all the comits with other details
    ArrayList<Long> commList = new ArrayList<>();
    ArrayList<Long> chaList = new ArrayList<>();
    ArrayList<Long> addList = new ArrayList<>();
    ArrayList<Long> delList = new ArrayList<>();
    ArrayList<Long> pubList = new ArrayList<>();
    ArrayList<Long> gisList = new ArrayList<>();
    ArrayList<Long> folList = new ArrayList<>();
    ArrayList<Long> fowList = new ArrayList<>();

    ///First initials all with 0 depending on number of users...

    for (int a = 0; a < lList.size(); a++) {
        long com = 0;
        commList.add(com);
        chaList.add(com);
        addList.add(com);
        delList.add(com);
        pubList.add(com);
        gisList.add(com);
        folList.add(com);
        fowList.add(com);

    }

    for (int cc = 0; cc < shaLists.size(); cc++) {

        for (int b = 0; b < lList.size(); b++) {

            if (logList.get(cc).equals(lList.get(b))) {
                long get_com = commList.get(b) + 1;
                long get_cha = chaList.get(b) + cList.get(cc);
                long get_add = addList.get(b) + aList.get(cc);
                long get_del = delList.get(b) + dList.get(cc);

                ///To update specific element in the List we have to first remove that element
                commList.remove(b);
                chaList.remove(b);
                addList.remove(b);
                delList.remove(b);

                /// Now we have to put it back to there position
                commList.add(b, get_com);
                chaList.add(b, get_cha);
                addList.add(b, get_add);
                delList.add(b, get_del);

            }
        }
    }

    if (ct == (toks.length - 1)) {/// the the index for the tokens array...
        ct = 0; //// go back to the first index......
    }
    // Getting the PR Open, PR Clossed IS Openned, Is Clossed, Forks, Stars
    String pulsURL = callURL("https://api.github.com/repos/" + projectName + "/pulls?since=" + date1 + "&until="
            + date2 + "&access_token=" + toks[ct++]);
    if (ct == (toks.length - 1)) {/// the the index for the tokens array...
        ct = 0; //// go back to the first index......
    }
    String issuesURL = callURL("https://api.github.com/repos/" + projectName + "/issues?since=" + date1
            + "&until=" + date2 + "&access_token=" + toks[ct++]);

    JSONArray pullsArray = (JSONArray) parser.parse(pulsURL);
    JSONArray issuesArray = (JSONArray) parser.parse(issuesURL);

    long pl = 0, pc = 0, f = 0, is = 0, ic = 0, s = 0, w = 0;
    for (Object jsonObj : pullsArray) {

        JSONObject pullsObj = (JSONObject) jsonObj;
        JSONObject headObj = (JSONObject) pullsObj.get("head");
        JSONObject reposObj = (JSONObject) headObj.get("repo");

        if (reposObj != null) {
            // System.out.println(reposObj);
            pl += (long) reposObj.get("open_issues");
            f += (long) reposObj.get("forks");
            w += (long) reposObj.get("watchers");
        }

    }

    for (Object jsonObj2 : issuesArray) {
        JSONObject issuesObj = (JSONObject) jsonObj2;
        String is_open = (String) issuesObj.get("state");
        String is_close = (String) issuesObj.get("closed_at");
        if (is_open.equals("open")) {
            is += 1;
        } else {
            is += 0;
        }

    }

    for (int b = 0; b < lList.size(); b++) {/// Looping thru all the Shaa ......
        //System.out.println(lList.get(b));
        long get_up = 0;
        long get_gis = 0;
        long get_fol = 0;
        long get_fow = 0;

        if (!lList.get(b).equals("login######")) {
            if (ct == (toks.length - 1)) {/// the the index for the tokens array...
                ct = 0; //// go back to the first index......
            }
            loginURL = callURL("https://api.github.com/users/" + lList.get(b) + "?access_token=" + toks[ct++]);
            loginObj = (JSONObject) parser.parse(loginURL);

            get_up = pubList.get(b) + (long) loginObj.get("public_repos");
            get_gis = gisList.get(b) + (long) loginObj.get("public_gists");
            get_fol = folList.get(b) + (long) loginObj.get("followers");
            get_fow = fowList.get(b) + (long) loginObj.get("following");

            location = (String) loginObj.get("location");
            createdAt = (String) loginObj.get("created_at");
            updatedAt = (String) loginObj.get("updated_at");

            pubList.set(b, get_up);
            gisList.set(b, get_gis);
            folList.set(b, get_fol);
            fowList.set(b, get_fow);

            locationSet.add(location);
            createdSet.add(createdAt);
            updatedSet.add(updatedAt);

        }
        if (lList.get(b).equals("login######")) {
            pubList.set(b, pubList.get(b) + get_up);
            gisList.set(b, gisList.get(b) + get_gis);
            folList.set(b, folList.get(b) + get_fol);
            fowList.set(b, fowList.get(b) + get_fow);

            locationSet.add("location");
            createdSet.add("created");
            updatedSet.add("updated");
        }

    }

    /// Split them here..

    ArrayList<String> locateList = new ArrayList<>();
    ArrayList<String> createdList = new ArrayList<>();
    ArrayList<String> updatedList = new ArrayList<>();

    Iterator locat = locationSet.iterator();
    Iterator create = createdSet.iterator();
    Iterator update = updatedSet.iterator();

    while (locat.hasNext()) {
        locateList.add((String) locat.next());
    }
    while (create.hasNext()) {
        createdList.add((String) create.next());
    }
    while (update.hasNext()) {
        updatedList.add((String) update.next());
    }

    List<String> allList = new ArrayList<>();
    allList.add(date1 + " - " + date2);
    allList.add(String.valueOf(pl));
    allList.add(String.valueOf(pc));
    allList.add(String.valueOf(is));
    allList.add(String.valueOf(ic));
    allList.add(String.valueOf(f));
    allList.add(String.valueOf(w));
    if (i == 0) {
        allList.add(projectName);
    } else {
        allList.add("-");
    }

    ///System.out.println(nList+"\t"+eList+"\t"+lList+"\t"+createdList+"\t"+updatedList+"\t"+pubList+"\t"+gisList+"\t"+folList+"\t"+fowList+"\t"+commList+"\t"+chaList+"\t"+addList+"\t"+delList);

    if (shaLists.size() > 0) {

        for (int z = 0; z < lList.size(); z++) {
            allList.add(nList.get(z) + "/" + eList.get(z) + "/" + lList.get(z) + "/" + createdList.get(z) + "/"
                    + updatedList.get(z) + "/" + pubList.get(z) + "/" + gisList.get(z) + "/" + folList.get(z)
                    + "/" + fowList.get(z) + "/" + commList.get(z) + "_" + chaList.get(z) + "_" + addList.get(z)
                    + "_" + delList.get(z));

        }

        datas = new Object[allList.size()];
        datas = allList.toArray(datas);
        /// putting the bodies in to the arraylist..

    }
    datas = new Object[allList.size()];

    datas = allList.toArray(datas);

    System.out.print(shaLists + "\t\t pr_O: " + pl + ", Closed: " + pc + " IS_OP:" + is + ", IS_CL: " + ic
            + ", FORK: " + f + ", WATCH: " + w + " \t Login: " + loginSet + "\t name: " + nList + "\t email: "
            + eList + "\t Location: " + locList + " , Updated: " + pubList + ",Gis: " + gisList + ",Followers: "
            + folList + ",Following: " + fowList + ", Created_At: " + createdSet + ", Updated: " + updatedSet
            + " \t Commits: " + commList + " ,  Changes:" + commList + ", Added: " + chaList + ", Deleted: "
            + addList);
    System.out.println("**************************");

    //System.out.println(datas);

    return datas;

}

From source file:org.alfresco.dataprep.UserService.java

/**
 * Follow or unfollow a user/*from w w  w. ja va 2  s.  c om*/
 * 
 * @param userName String user name
 * @param password String password
 * @param userToFollow String user to be followed
 * @return true if user is followed successfully
 */
@SuppressWarnings("unchecked")
private boolean toFollowOrUnfollow(final String userName, final String password, final String userToFollowOrNot,
        final boolean follow) {
    String url;
    AlfrescoHttpClient client = alfrescoHttpClientFactory.getObject();
    if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)
            || StringUtils.isEmpty(userToFollowOrNot)) {
        throw new IllegalArgumentException("Parameter missing");
    }
    if (follow) {
        url = client.getApiUrl() + "subscriptions/" + userName + "/follow";
    } else {
        url = client.getApiUrl() + "subscriptions/" + userName + "/unfollow";
    }
    HttpPost request = new HttpPost(url);
    JSONArray requestBody = new JSONArray();
    requestBody.add(userToFollowOrNot);
    try {
        request.setEntity(new StringEntity(requestBody.toString()));
    } catch (UnsupportedEncodingException e) {
        throw new RuntimeException("Failed to process the request body" + requestBody);
    }
    HttpResponse response = client.executeRequest(userName, password, request);
    switch (response.getStatusLine().getStatusCode()) {
    case HttpStatus.SC_NO_CONTENT:
        if (logger.isTraceEnabled()) {
            if (follow) {
                logger.trace("User " + userName + " is now following user " + userToFollowOrNot);
            } else {
                logger.trace("User " + userName + " is not following " + userToFollowOrNot);
            }
        }
        return true;
    case HttpStatus.SC_NOT_FOUND:
        if (logger.isTraceEnabled()) {
            logger.trace("User " + userToFollowOrNot + " does not exist");
        }
    default:
        logger.error("Unable to follow user: " + userToFollowOrNot + " - " + response.toString());
        break;
    }
    return false;
}

From source file:org.apache.hadoop.chukwa.hicc.Workspace.java

public String convertObjectsToViewList(JSONObject[] objArray) {
    JSONArray jsonArr = new JSONArray();
    JSONObject permission = new JSONObject();
    JSONObject user = new JSONObject();
    try {/*from   w w  w.  j  a va  2s.co  m*/
        permission.put("read", 1);
        permission.put("modify", 1);
        user.put("all", permission);
    } catch (Exception e) {
        System.err.println("JSON Exception: " + e.getMessage());
    }
    for (int i = 0; i < objArray.length; i++) {
        try {
            JSONObject jsonObj = new JSONObject();
            jsonObj.put("key", objArray[i].get("key"));
            jsonObj.put("description", objArray[i].get("description"));
            jsonObj.put("owner", "");
            jsonObj.put("permission", user);
            jsonArr.add(jsonObj);
        } catch (Exception e) {
            System.err.println("JSON Exception: " + e.getMessage());
        }
    }
    return jsonArr.toString();
}

From source file:org.apache.metron.dataloads.ThreatIntelLoader.java

private static Put putRequestFromIntel(JSONObject intel) {

    Put tempPut = new Put(Bytes.toBytes((String) intel.get("indicator")));

    JSONArray intelArray = (JSONArray) intel.get("data");

    tempPut.add(Bytes.toBytes("source"), Bytes.toBytes((String) intel.get("source")),
            Bytes.toBytes(intelArray.toString()));

    return tempPut;
}

From source file:org.imsglobal.lti2.LTI2Util.java

@SuppressWarnings("unused")
private static String parseToolProfileInternal(List<Properties> theTools, Properties info,
        JSONObject jsonObject) {/*from  w  w  w . ja v a  2 s .co  m*/
    Object o = null;
    JSONObject tool_profile = (JSONObject) jsonObject.get("tool_profile");
    if (tool_profile == null) {
        return "JSON missing tool_profile";
    }
    JSONObject product_instance = (JSONObject) tool_profile.get("product_instance");
    if (product_instance == null) {
        return "JSON missing product_instance";
    }

    String instance_guid = (String) product_instance.get("guid");
    if (instance_guid == null) {
        return "JSON missing product_info / guid";
    }
    info.put("instance_guid", instance_guid);

    JSONObject product_info = (JSONObject) product_instance.get("product_info");
    if (product_info == null) {
        return "JSON missing product_info";
    }

    // Look for required fields
    JSONObject product_name = product_info == null ? null : (JSONObject) product_info.get("product_name");
    String productTitle = product_name == null ? null : (String) product_name.get("default_value");
    JSONObject description = product_info == null ? null : (JSONObject) product_info.get("description");
    String productDescription = description == null ? null : (String) description.get("default_value");

    JSONObject product_family = product_info == null ? null : (JSONObject) product_info.get("product_family");
    String productCode = product_family == null ? null : (String) product_family.get("code");
    JSONObject product_vendor = product_family == null ? null : (JSONObject) product_family.get("vendor");
    description = product_vendor == null ? null : (JSONObject) product_vendor.get("description");
    String vendorDescription = description == null ? null : (String) description.get("default_value");
    String vendorCode = product_vendor == null ? null : (String) product_vendor.get("code");

    if (productTitle == null || productDescription == null) {
        return "JSON missing product_name or description ";
    }
    if (productCode == null || vendorCode == null || vendorDescription == null) {
        return "JSON missing product code, vendor code or description";
    }

    info.put("product_name", productTitle);
    info.put("description", productDescription); // Backwards compatibility
    info.put("product_description", productDescription);
    info.put("product_code", productCode);
    info.put("vendor_code", vendorCode);
    info.put("vendor_description", vendorDescription);

    o = tool_profile.get("base_url_choice");
    if (!(o instanceof JSONArray) || o == null) {
        return "JSON missing base_url_choices";
    }
    JSONArray base_url_choices = (JSONArray) o;

    String secure_base_url = null;
    String default_base_url = null;
    for (Object i : base_url_choices) {
        JSONObject url_choice = (JSONObject) i;
        secure_base_url = (String) url_choice.get("secure_base_url");
        default_base_url = (String) url_choice.get("default_base_url");
    }

    String launch_url = secure_base_url;
    if (launch_url == null)
        launch_url = default_base_url;
    if (launch_url == null) {
        return "Unable to determine launch URL";
    }

    o = (JSONArray) tool_profile.get("resource_handler");
    if (!(o instanceof JSONArray) || o == null) {
        return "JSON missing resource_handlers";
    }
    JSONArray resource_handlers = (JSONArray) o;

    // Loop through resource handlers, read, and check for errors
    for (Object i : resource_handlers) {
        JSONObject resource_handler = (JSONObject) i;
        JSONObject resource_type_json = (JSONObject) resource_handler.get("resource_type");
        String resource_type_code = (String) resource_type_json.get("code");
        if (resource_type_code == null) {
            return "JSON missing resource_type code";
        }
        o = (JSONArray) resource_handler.get("message");
        if (!(o instanceof JSONArray) || o == null) {
            return "JSON missing resource_handler / message";
        }
        JSONArray messages = (JSONArray) o;

        JSONObject titleObject = (JSONObject) resource_handler.get("name");
        String title = titleObject == null ? null : (String) titleObject.get("default_value");
        if (title == null || titleObject == null) {
            return "JSON missing resource_handler / name / default_value";
        }

        JSONObject buttonObject = (JSONObject) resource_handler.get("short_name");
        String button = buttonObject == null ? null : (String) buttonObject.get("default_value");

        JSONObject descObject = (JSONObject) resource_handler.get("description");
        String resourceDescription = descObject == null ? null : (String) descObject.get("default_value");

        String path = null;
        JSONArray parameter = null;
        JSONArray enabled_capability = null;
        for (Object m : messages) {
            JSONObject message = (JSONObject) m;
            String message_type = (String) message.get("message_type");
            if (!"basic-lti-launch-request".equals(message_type))
                continue;
            if (path != null) {
                return "A resource_handler cannot have more than one basic-lti-launch-request message RT="
                        + resource_type_code;
            }
            path = (String) message.get("path");
            if (path == null) {
                return "A basic-lti-launch-request message must have a path RT=" + resource_type_code;
            }
            o = (JSONArray) message.get("parameter");
            if (!(o instanceof JSONArray)) {
                return "Must be an array: parameter RT=" + resource_type_code;
            }
            parameter = (JSONArray) o;

            o = (JSONArray) message.get("enabled_capability");
            if (!(o instanceof JSONArray)) {
                return "Must be an array: enabled_capability RT=" + resource_type_code;
            }
            enabled_capability = (JSONArray) o;
        }

        // Ignore everything except launch handlers
        if (path == null)
            continue;

        // Check the URI
        String thisLaunch = launch_url;
        if (!thisLaunch.endsWith("/") && !path.startsWith("/"))
            thisLaunch = thisLaunch + "/";
        thisLaunch = thisLaunch + path;
        try {
            URL url = new URL(thisLaunch);
        } catch (Exception e) {
            return "Bad launch URL=" + thisLaunch;
        }

        // Passed all the tests...  Lets keep it...
        Properties theTool = new Properties();

        theTool.put("resource_type", resource_type_code); // Backwards compatibility
        theTool.put("resource_type_code", resource_type_code);
        if (title == null)
            title = productTitle;
        if (title != null)
            theTool.put("title", title);
        if (button != null)
            theTool.put("button", button);
        if (resourceDescription == null)
            resourceDescription = productDescription;
        if (resourceDescription != null)
            theTool.put("description", resourceDescription);
        if (parameter != null)
            theTool.put("parameter", parameter.toString());
        if (enabled_capability != null)
            theTool.put("enabled_capability", enabled_capability.toString());
        theTool.put("launch", thisLaunch);
        theTools.add(theTool);
    }
    return null; // All good
}