Example usage for com.google.gwt.json.client JSONObject size

List of usage examples for com.google.gwt.json.client JSONObject size

Introduction

In this page you can find the example usage for com.google.gwt.json.client JSONObject size.

Prototype

public int size() 

Source Link

Document

Determines the number of properties on this object.

Usage

From source file:com.google.gwt.maeglin89273.game.ashinyballonthecross.client.tutorial.TutorialManager.java

private TaskBuilder[] parseTasks(JSONObject jsonStep) {
    JSONObject jsonTasks = jsonStep.get(TaskBuilder.TASKS_KEY).isObject();
    TaskBuilder[] builders = new TaskBuilder[jsonTasks.size()];
    int i = 0;//from ww w.  j a va  2s .c  o  m
    if (jsonTasks.containsKey(TaskBuilder.ButtonBuilder.BUTTON_KEY)) {
        builders[i++] = new TaskBuilder.ButtonBuilder();
    }

    if (jsonTasks.containsKey(TaskBuilder.BlueMarkBuilder.MARK_KEY)) {
        JSONObject jsonMark = jsonTasks.get(TaskBuilder.BlueMarkBuilder.MARK_KEY).isObject();
        builders[i++] = new TaskBuilder.BlueMarkBuilder(
                (int) jsonMark.get(TaskBuilder.BlueMarkBuilder.INDEX_KEY).isNumber().doubleValue(),
                jsonMark.get(TaskBuilder.BlueMarkBuilder.X_KEY).isNumber().doubleValue(),
                jsonMark.get(TaskBuilder.BlueMarkBuilder.Y_KEY).isNumber().doubleValue(),
                jsonMark.get(TaskBuilder.BlueMarkBuilder.ANGLE_KEY).isNumber().doubleValue());
    }

    if (jsonTasks.containsKey(TaskBuilder.TaskListBuilder.LIST_KEY)) {
        JSONObject jsonList = jsonTasks.get(TaskBuilder.TaskListBuilder.LIST_KEY).isObject();
        builders[i++] = new TaskBuilder.TaskListBuilder(
                (int) jsonList.get(TaskBuilder.TaskListBuilder.HEIGHT_KEY).isNumber().doubleValue(),
                (int) jsonList.get(TaskBuilder.TaskListBuilder.Y_KEY).isNumber().doubleValue(),
                (int) jsonList.get(TaskBuilder.TaskListBuilder.NUM_KEY).isNumber().doubleValue());
    }
    return builders;
}

From source file:com.hiramchirino.restygwt.client.AbstractJsonEncoderDecoder.java

License:Apache License

static public <Type> Map<String, Type> toMap(JSONValue value, AbstractJsonEncoderDecoder<Type> encoder,
        Style style) {//w ww .  j  a  va 2 s. com
    if (value == null || value.isNull() != null) {
        return null;
    }

    switch (style) {
    case DEFAULT:
    case SIMPLE: {
        JSONObject object = value.isObject();
        if (object == null) {
            throw new DecodingException("Expected a json object, but was given: " + value);
        }

        HashMap<String, Type> rc = new HashMap<String, Type>(object.size() * 2);
        for (String key : object.keySet()) {
            rc.put(key, encoder.decode(object.get(key)));
        }
        return rc;
    }
    case JETTISON_NATURAL: {
        JSONObject object = value.isObject();
        if (object == null) {
            throw new DecodingException("Expected a json object, but was given: " + value);
        }
        value = object.get("entry");
        if (value == null) {
            throw new DecodingException("Expected an entry array not found");
        }
        JSONArray entries = value.isArray();
        if (entries == null) {
            throw new DecodingException("Expected an entry array, but was given: " + value);
        }

        HashMap<String, Type> rc = new HashMap<String, Type>(object.size() * 2);
        for (int i = 0; i < entries.size(); i++) {
            JSONObject entry = entries.get(i).isObject();
            if (entry == null)
                throw new DecodingException("Expected an entry object, but was given: " + value);
            JSONValue key = entry.get("key");
            if (key == null)
                throw new DecodingException("Expected an entry key field not found");
            JSONString k = key.isString();
            if (k == null)
                throw new DecodingException("Expected an entry key to be a string, but was given: " + value);

            rc.put(k.stringValue(), encoder.decode(entry.get("value")));
        }
        return rc;
    }
    default:
        throw new UnsupportedOperationException("The encoding style is not yet suppored: " + style.name());
    }
}

From source file:es.deusto.weblab.client.lab.comm.LabSerializerJSON.java

License:Open Source License

@Override
/**//  w  w w  . ja  va 2s.  c o m
 * Deserialize the raw JSON-encoded response for the check_async_requests_status query
 * into an array of AsyncRequestStatus objects.
 */
public AsyncRequestStatus[] parseCheckAsyncCommandStatusResponse(String responseText)
        throws SerializationException, SessionNotFoundException, NoCurrentReservationException,
        UserProcessingException, WebLabServerException {

    final JSONObject result = this.parseResultObject(responseText);

    final Set<String> requestIds = result.keySet();

    final AsyncRequestStatus[] requests = new AsyncRequestStatus[result.size()];

    int i = 0;
    for (String id : requestIds) {
        final JSONArray reqStatus = result.get(id).isArray();
        if (reqStatus == null)
            throw new SerializationException(
                    "CheckAsyncCommandStatusResponse: Expected object within results dict");
        final JSONString status = reqStatus.get(0).isString();
        final JSONString contents = reqStatus.get(1).isString();

        if (status == null)
            throw new SerializationException(
                    "CheckAsyncCommandStatusResponse: Null value received as the status of a request");

        final String statusStr = status.stringValue();

        boolean running = false;
        boolean finishedSuccessfully;

        if (statusStr.equals("running")) {
            running = true;
            finishedSuccessfully = false;
        } else if (statusStr.equals("ok")) {
            running = false;
            finishedSuccessfully = true;
        } else if (statusStr.equals("error")) {
            running = false;
            finishedSuccessfully = false;
        } else {
            throw new SerializationException(
                    "CheckAsyncCommandStatusResponse: Unexpected value as a command status: (Not finished/running/error).");
        }

        final String contentsStr;
        if (!running) {
            if (contents == null)
                throw new SerializationException(
                        "CheckAsyncCommandStatusResponse: A finished command does not seem to contain a string describing its response");
            contentsStr = contents.stringValue();
        } else
            contentsStr = "";

        final AsyncRequestStatus reqobj = new AsyncRequestStatus(id, running, finishedSuccessfully,
                contentsStr);

        requests[i++] = reqobj;
    }

    return requests;
}

From source file:gov.nist.spectrumbrowser.client.DailyStatsChart.java

License:Open Source License

public void draw() {
    ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);

    try {// w w w  .  j av a2  s . c om
        chartLoader.loadApi(new Runnable() {
            @Override
            public void run() {
                buttonGrid = new Grid(1, 2);
                horizontalPanel = new HorizontalPanel();
                horizontalPanel.setWidth(SpectrumBrowser.SPEC_WIDTH + "px");
                horizontalPanel.setHeight(SpectrumBrowser.SPEC_HEIGHT + "px");
                lineChart = new LineChart();
                horizontalPanel.add(lineChart);
                verticalPanel.clear();
                //waitImage.setVisible(false);
                drawNavigation();
                String startDate = jsonValue.isObject().get("startDate").isString().stringValue();
                HTML title = new HTML("<h2>" + END_LABEL + "</h2>");

                verticalPanel.add(title);

                double fmin = jsonValue.isObject().get("minFreq").isNumber().doubleValue() / 1E6;
                double fmax = jsonValue.isObject().get("maxFreq").isNumber().doubleValue() / 1E6;
                int nchannels = (int) jsonValue.isObject().get(Defines.CHANNEL_COUNT).isNumber().doubleValue();
                int cutoff = (int) jsonValue.isObject().get("cutoff").isNumber().doubleValue();

                HTML infoTitle = new HTML("<h3>Start Date= " + startDate + ";Detected System = " + sys2detect
                        + "; minFreq = " + fmin + " MHz; maxFreq = " + fmax + " MHz" + "; channelCount = "
                        + nchannels + "; Occupancy Threshold = " + cutoff + " dBm </h3>");
                verticalPanel.add(infoTitle);
                String helpText = " Click on a point to see detail.";
                helpLabel = new Label();
                helpLabel.setText(helpText);
                verticalPanel.add(helpLabel);
                verticalPanel.add(buttonGrid);
                int buttonCount = 0;
                if (prevMinTime < mMinTime) {
                    Button prevIntervalButton = new Button("<< Previous " + days + " Days");
                    prevIntervalButton.setTitle("Click to see previous interval");
                    buttonGrid.setWidget(0, 0, prevIntervalButton);
                    verticalPanel.add(buttonGrid);
                    buttonCount++;
                    prevIntervalButton.addClickHandler(new ClickHandler() {
                        @Override
                        public void onClick(ClickEvent event) {
                            mMinTime = prevMinTime;
                            helpLabel.setText("Computing Occupancy please wait");
                            spectrumBrowser.showWaitImage();
                            spectrumBrowser.getSpectrumBrowserService().getDailyMaxMinMeanStats(mSensorId, lat,
                                    lon, alt, mMinTime, days, sys2detect, mMinFreq, mMaxFreq, mSubBandMinFreq,
                                    mSubBandMaxFreq, DailyStatsChart.this);
                        }

                    });
                }

                if (nextMinTime > mMinTime) {
                    Button nextIntervalButton = new Button("Next " + days + " Days >>");
                    nextIntervalButton.setTitle("Click to see next interval");
                    buttonGrid.setWidget(0, 1, nextIntervalButton);
                    buttonCount++;

                    nextIntervalButton.addClickHandler(new ClickHandler() {

                        @Override
                        public void onClick(ClickEvent event) {
                            mMinTime = nextMinTime;
                            spectrumBrowser.showWaitImage();
                            helpLabel.setText("Computing Occupancy please wait");
                            spectrumBrowser.getSpectrumBrowserService().getDailyMaxMinMeanStats(mSensorId, lat,
                                    lon, alt, mMinTime, days, sys2detect, mMinFreq, mMaxFreq, mSubBandMinFreq,
                                    mSubBandMaxFreq, DailyStatsChart.this);
                        }

                    });
                }

                if (buttonCount != 0) {
                    buttonGrid.setStyleName("selectionGrid");
                }
                for (int i = 0; i < buttonGrid.getRowCount(); i++) {
                    for (int j = 0; j < buttonGrid.getColumnCount(); j++) {
                        buttonGrid.getCellFormatter().setHorizontalAlignment(i, j,
                                HasHorizontalAlignment.ALIGN_CENTER);
                        buttonGrid.getCellFormatter().setVerticalAlignment(i, j,
                                HasVerticalAlignment.ALIGN_MIDDLE);
                    }
                }

                verticalPanel.add(horizontalPanel);
                DataTable dataTable = DataTable.create();
                dataTable.addColumn(ColumnType.NUMBER, " Days");
                dataTable.addColumn(ColumnType.NUMBER, " Min");
                dataTable.addColumn(ColumnType.NUMBER, " Max");
                dataTable.addColumn(ColumnType.NUMBER, " Mean");
                /* if (mMeasurementType.equals("Swept-frequency")) {
                   dataTable.addColumn(ColumnType.NUMBER, " Median");
                }*/

                lineChart.addSelectHandler(new SelectHandler() {
                    @Override
                    public void onSelect(SelectEvent event) {
                        JsArray<Selection> selections = lineChart.getSelection();
                        int length = selections.length();
                        for (int i = 0; i < length; i++) {
                            Selection selection = selections.get(i);
                            logger.finer("Selected Row : " + selection.getRow());
                            logger.finer("selected col : " + selection.getColumn());
                            // If the measurement type is of type FFT-Power
                            // then drill down.
                            DailyStat ds = selectionProperties.get(selection.getRow());
                            if (ds.mType.equals("FFT-Power")) {
                                spectrumBrowser.showWaitImage();
                                spectrumBrowser.showWaitImage();

                                new FftPowerOneDayOccupancyChart(spectrumBrowser, navigation, mSensorId, lat,
                                        lon, alt, ds.startTime, sys2detect, mMinFreq, mMaxFreq, verticalPanel);
                            } else {
                                spectrumBrowser.showWaitImage();
                                new SweptFrequencyOneDaySpectrogramChart(mSensorId, lat, lon, alt, ds.startTime,
                                        sys2detect, mMinFreq, mMaxFreq, mSubBandMinFreq, mSubBandMaxFreq,
                                        verticalPanel, spectrumBrowser, navigation);

                            }
                        }

                    }
                });

                JSONObject jsonObject = jsonValue.isObject();
                try {
                    JSONObject values = jsonObject.get("values").isObject();
                    int dayCount = values.size();
                    logger.finer("dayCount " + dayCount);

                    dataTable.addRows(dayCount);

                    int rowIndex = 0;
                    for (String dayString : values.keySet()) {
                        JSONObject statsObject = values.get(dayString).isObject();
                        double mean = statsObject.get("meanOccupancy").isNumber().doubleValue() * 100;
                        double max = statsObject.get("maxOccupancy").isNumber().doubleValue() * 100;
                        double min = statsObject.get("minOccupancy").isNumber().doubleValue() * 100;
                        long count = (long) statsObject.get("count").isNumber().doubleValue();
                        int dayOffset = Integer.parseInt(dayString) / 24;
                        long time = (long) statsObject.get("dayBoundaryTimeStamp").isNumber().doubleValue();

                        DailyStat dailyStat = new DailyStat(mSensorId, time, mMeasurementType, count,
                                round2(max), round2(min), round2(mean));
                        selectionProperties.put(rowIndex, dailyStat);

                        dataTable.setCell(rowIndex, 0, dayOffset,
                                count + " acquisitions ; " + dayOffset + " days from start");
                        dataTable.setCell(rowIndex, 1, round2(min), round2(min) + "%");
                        dataTable.setCell(rowIndex, 2, round2(max), round2(max) + "%");
                        dataTable.setCell(rowIndex, 3, round2(mean), round2(mean) + "%");
                        /* if (statsObject.containsKey("medianOccupancy") ) {
                           double median = statsObject
                                 .get("medianOccupancy").isNumber()
                                 .doubleValue() * 100;
                           dataTable.setCell(rowIndex, 4, round2(median),
                                 round2(median) + "%");
                           dailyStat.setMedianOccupancy(round2(median));
                        } */
                        rowIndex++;
                    }
                } catch (Throwable ex) {
                    logger.log(Level.SEVERE, "problem generating chart ", ex);
                }
                LineChartOptions options = LineChartOptions.create();
                options.setBackgroundColor("#f0f0f0");
                options.setPointSize(5);
                HAxis haxis = HAxis.create("Days from start date.");
                Gridlines gridLines = Gridlines.create();
                gridLines.setCount(days);
                haxis.setGridlines(gridLines);
                haxis.setMaxValue(days - 1);
                haxis.setMinValue(0);

                if (days < 10) {
                    haxis.setShowTextEvery(1);
                } else if (days < 20) {
                    haxis.setShowTextEvery(2);
                } else {
                    haxis.setShowTextEvery(4);
                }

                options.setHAxis(haxis);
                options.setVAxis(VAxis.create("Occupancy %"));
                lineChart.setTitle("Click on data point to see detail");

                lineChart.draw(dataTable, options);
                lineChart.setVisible(true);
                lineChart.setHeight(SpectrumBrowser.SPEC_HEIGHT + "px");
                lineChart.setWidth(SpectrumBrowser.SPEC_WIDTH + "px");
                /* override with style if it exists */
                lineChart.setStyleName("lineChart");
                spectrumBrowserShowDatasets.unFreeze();
                spectrumBrowser.hideWaitImage();
            }
        });
    } catch (Throwable ex) {
        logger.log(Level.SEVERE, "Error in processing result ", ex);
        spectrumBrowser.logoff();
    }
}

From source file:gov.nist.spectrumbrowser.client.FftPowerOneDayOccupancyChart.java

License:Open Source License

public void draw() {
    ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);

    chartLoader.loadApi(new Runnable() {

        @Override/* w  ww  . j a  v  a 2s. c  om*/
        public void run() {
            mVerticalPanel.clear();
            horizontalPanel = new HorizontalPanel();
            horizontalPanel.setWidth(SpectrumBrowser.SPEC_WIDTH + "px");
            horizontalPanel.setHeight(SpectrumBrowser.SPEC_HEIGHT + "px");

            lineChart = new LineChart();
            horizontalPanel.add(lineChart);
            drawNavigation();
            String dateString = jsonValue.isObject().get("formattedDate").isString().stringValue();
            HTML heading = new HTML("<h2>" + END_LABEL + "</h2>");
            mVerticalPanel.add(heading);
            int minFreq = (int) ((mMinFreq + 500000) / 1E6);
            int maxFreq = (int) ((mMaxFreq + 500000) / 1E6);
            int nChannels = (int) jsonValue.isObject().get(Defines.CHANNEL_COUNT).isNumber().doubleValue();
            int acquisitionCount = (int) jsonValue.isObject().get(Defines.ACQUISITION_COUNT).isNumber()
                    .doubleValue();
            int measurementsPerAcquisition = (int) jsonValue.isObject().get("measurementsPerAcquisition")
                    .isNumber().doubleValue();
            int cutoff = (int) jsonValue.isObject().get("cutoff").isNumber().doubleValue();
            HTML infoTitle = new HTML("<h3> Start Time = " + dateString + ";Detected System = " + sys2detect
                    + "; minFreq = " + minFreq + " MHz; maxFreq = " + maxFreq + " MHz" + "; nChannels = "
                    + nChannels + "; Occupancy cutoff = " + cutoff + " dBm </h3>");
            mVerticalPanel.add(infoTitle);
            HTML infoTitle1 = new HTML("<h3>Measurements Per Acquisition = " + measurementsPerAcquisition
                    + "; Acquisition Count = " + acquisitionCount + "</h3>");
            mVerticalPanel.add(infoTitle1);
            prevNextButtons = new Grid(1, 2);

            Label helpText = new Label("Click on data point to see detail.");

            mVerticalPanel.add(helpText);

            mVerticalPanel.add(prevNextButtons);

            mVerticalPanel.add(horizontalPanel);

            final long currentStartTime = (long) jsonValue.isObject().get("currentIntervalStart").isNumber()
                    .doubleValue();
            final long prevStartTime = (long) jsonValue.isObject().get("prevIntervalStart").isNumber()
                    .doubleValue();
            final long nextStartTime = (long) jsonValue.isObject().get("nextIntervalStart").isNumber()
                    .doubleValue();
            int count = 0;
            if (prevStartTime < currentStartTime) {
                Button prevIntervalButton = new Button("<< Previous Day");
                prevIntervalButton.addClickHandler(new ClickHandler() {

                    @Override
                    public void onClick(ClickEvent event) {
                        mSpectrumBrowser.showWaitImage();
                        mSpectrumBrowser.getSpectrumBrowserService().getOneDayStats(mSensorId, lat, lon, alt,
                                prevStartTime, sys2detect, mMinFreq, mMaxFreq,
                                FftPowerOneDayOccupancyChart.this);
                    }
                });
                prevNextButtons.setWidget(0, 0, prevIntervalButton);
                count++;
            }

            if (nextStartTime > currentStartTime) {
                Button nextIntervalButton = new Button("Next Day >>");
                nextIntervalButton.addClickHandler(new ClickHandler() {

                    @Override
                    public void onClick(ClickEvent event) {
                        mSpectrumBrowser.showWaitImage();
                        mSpectrumBrowser.getSpectrumBrowserService().getOneDayStats(mSensorId, lat, lon, alt,
                                nextStartTime, sys2detect, mMinFreq, mMaxFreq,
                                FftPowerOneDayOccupancyChart.this);

                    }
                });
                prevNextButtons.setWidget(0, 1, nextIntervalButton);
                count++;
            }

            if (count != 0) {
                prevNextButtons.setStyleName("selectionGrid");

            }
            for (int i = 0; i < prevNextButtons.getRowCount(); i++) {
                for (int j = 0; j < prevNextButtons.getColumnCount(); j++) {
                    prevNextButtons.getCellFormatter().setHorizontalAlignment(i, j,
                            HasHorizontalAlignment.ALIGN_CENTER);
                    prevNextButtons.getCellFormatter().setVerticalAlignment(i, j,
                            HasVerticalAlignment.ALIGN_MIDDLE);
                }
            }

            DataTable dataTable = DataTable.create();
            dataTable.addColumn(ColumnType.NUMBER, " Hours since start of day.");
            dataTable.addColumn(ColumnType.NUMBER, " Max");
            dataTable.addColumn(ColumnType.NUMBER, " Min");
            dataTable.addColumn(ColumnType.NUMBER, " Median");
            dataTable.addColumn(ColumnType.NUMBER, " Mean");

            JSONObject jsonObject = jsonValue.isObject().get("values").isObject();
            int rowCount = jsonObject.size();
            logger.finer("rowCount " + rowCount);
            dataTable.addRows(rowCount);
            try {
                int rowIndex = 0;
                for (String secondString : jsonObject.keySet()) {
                    JSONObject statsObject = jsonObject.get(secondString).isObject();
                    int second = Integer.parseInt(secondString);
                    long time = (long) statsObject.get("t").isNumber().doubleValue();
                    double mean = statsObject.get("meanOccupancy").isNumber().doubleValue() * 100;
                    double max = statsObject.get("maxOccupancy").isNumber().doubleValue() * 100;
                    double min = statsObject.get("minOccupancy").isNumber().doubleValue() * 100;
                    double median = statsObject.get("medianOccupancy").isNumber().doubleValue() * 100;
                    float hours = round3((double) second / (double) 3600);
                    int hourDelta = (int) hours;
                    int minutes = (int) ((((hours - hourDelta) * 60.0) / 60.0) * 60);
                    int seconds = (int) (((float) (second - hourDelta * 60 * 60 - minutes * 60) / 60.0) * 60);
                    NumberFormat nf = NumberFormat.getFormat("00");
                    dataTable.setCell(rowIndex, 0, hours,
                            nf.format(hourDelta) + ":" + nf.format(minutes) + ":" + nf.format(seconds));
                    dataTable.setCell(rowIndex, 1, round2(max), round2(max) + "%");
                    dataTable.setCell(rowIndex, 2, round2(min), round2(min) + "%");
                    dataTable.setCell(rowIndex, 3, round2(median), round2(median) + "%");
                    dataTable.setCell(rowIndex, 4, round2(mean), round2(mean) + "%");
                    selectionProperties.put(rowIndex, new SelectionProperty(time));
                    rowIndex++;
                }

                lineChart.addSelectHandler(new SelectHandler() {

                    @Override
                    public void onSelect(SelectEvent event) {
                        JsArray<Selection> selections = lineChart.getSelection();
                        int length = selections.length();
                        for (int i = 0; i < length; i++) {
                            int row = selections.get(i).getRow();
                            SelectionProperty property = selectionProperties.get(row);

                            new FftPowerOneAcquisitionSpectrogramChart(mSensorId, property.selectionTime,
                                    sys2detect, mMinFreq, mMaxFreq, mVerticalPanel, mSpectrumBrowser,
                                    navigation);
                        }
                    }
                });
                LineChartOptions options = LineChartOptions.create();
                options.setBackgroundColor("#f0f0f0");
                options.setPointSize(5);
                lineChart.setHeight(SpectrumBrowser.SPEC_HEIGHT + "px");
                lineChart.setWidth(SpectrumBrowser.SPEC_WIDTH + "px");
                HAxis haxis = HAxis.create("Hours since start of day.");
                haxis.setMinValue(0);
                haxis.setMaxValue(24);
                options.setHAxis(haxis);
                options.setVAxis(VAxis.create("Occupancy %"));
                lineChart.setStyleName("lineChart");
                lineChart.draw(dataTable, options);
                lineChart.setVisible(true);

                horizontalPanel.add(lineChart);
                mSpectrumBrowser.hideWaitImage();
            } catch (Throwable throwable) {
                logger.log(Level.SEVERE, "Problem parsing json ", throwable);
            }
        }
    });

}

From source file:org.dashbuilder.displayer.client.json.DataSetJSONMarshaller.java

License:Apache License

public DataSet fromJson(JSONObject dataSetJson) {
    if (dataSetJson == null)
        return null;

    DataSet dataSet = DataSetFactory.newEmptyDataSet();
    for (int i = 0; i < dataSetJson.size(); i++) {
        JSONObject columnJson = dataSetJson.get(DATASET_COLUMN + "." + Integer.toString(i)).isObject();
        parseDataColumn(dataSet, columnJson);
    }//from  w  w w . j a  v  a 2  s  .  c o m
    return dataSet;
}

From source file:org.dashbuilder.displayer.client.json.DisplayerSettingsJSONMarshaller.java

License:Apache License

private Map<String, String> parseSettingsFromJson(JSONObject settingsJson) {
    Map<String, String> flatSettingsMap = new HashMap<String, String>(30);

    if (settingsJson != null && settingsJson.size() > 0) {
        fillRecursive("", settingsJson, flatSettingsMap);
    }// w  ww . ja v a2 s  .c  o  m
    return flatSettingsMap;
}

From source file:org.gwtbootstrap3.demo.client.application.extras.SummernoteView.java

License:Apache License

@Inject
SummernoteView(final Binder uiBinder) {

    initWidget(uiBinder.createAndBindUi(this));

    // Hint for words
    hintWords.setHint("\\b(\\w{1,})$", new DefaultHintHandler() {

        List<String> words = new ArrayList<>(Arrays.asList("apple", "orange", "watermelon", "lemon"));

        @Override/*from  ww w .j av a  2 s  . c  om*/
        public String[] onSearch(String keyword) {
            List<String> result = new ArrayList<>(0);
            for (String word : words) {
                if (word.indexOf(keyword) == 0)
                    result.add(word);
            }
            return result.toArray(new String[0]);
        }
    });

    // Hint for emoji
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, "https://api.github.com/emojis");
    requestBuilder.setCallback(new RequestCallback() {

        @Override
        public void onResponseReceived(Request request, Response response) {
            String text = response.getText();
            final JSONObject emojiUrls = JSONParser.parseStrict(text).isObject();
            GWT.log("Found " + emojiUrls.size() + " emojis");
            hintEmoji.setHint(":([\\-+\\w]+)$", new DefaultHintHandler() {

                @Override
                public String[] onSearch(String keyword) {
                    List<String> result = new ArrayList<>(0);
                    for (String key : emojiUrls.keySet()) {
                        if (key.indexOf(keyword) == 0)
                            result.add(key);
                    }
                    return result.toArray(new String[0]);
                }

                @Override
                public String getTemplate(String item) {
                    String url = emojiUrls.get(item).isString().stringValue();
                    return "<img src=\"" + url + "\" style=\"width:20px\"/> :" + item + ":";
                }

                @Override
                public Node getContent(String item) {
                    String url = emojiUrls.get(item).isString().stringValue();
                    ImageElement img = Document.get().createImageElement();
                    img.setSrc(url);
                    img.getStyle().setWidth(20, Unit.PX);
                    return img;
                }
            });
            hintEmoji.reconfigure();
        }

        @Override
        public void onError(Request request, Throwable exception) {
            GWT.log("Error while requesting emojis", exception);
        }
    });
    try {
        requestBuilder.send();
    } catch (RequestException e) {
        GWT.log("Error while sending request for emojis", e);
    }

    // Customize toolbar
    customToolbar.setFontNames(SummernoteFontName.HELVETICA_NEUE, SummernoteFontName.VERDANA,
            SummernoteFontName.ARIAL);
    customToolbar.setToolbar(new Toolbar().addGroup(ToolbarButton.FONT_NAME, ToolbarButton.FONT_SIZE)
            .addGroup(ToolbarButton.UNDO, ToolbarButton.REDO).addGroup(ToolbarButton.CODE_VIEW)
            .addGroup(ToolbarButton.TABLE));

    // Language
    SummernoteLanguage defaultLanguage = languageNote.getLanguage();
    for (SummernoteLanguage language : SummernoteLanguage.values()) {
        languageBox.addItem(language.getCode(), language.name());
    }
    languageBox.setSelectedIndex(defaultLanguage.ordinal());
}

From source file:org.nuxeo.opensocial.container.client.utils.JSParams.java

License:Open Source License

public final Map<String, String> toMap() {
    Map<String, String> preferencesToReturn = new HashMap<String, String>();

    JSONArray json = new JSONArray(this);

    if (size() != 0) {
        for (int i = 0; i < json.size(); i++) {
            JSONObject pref = (JSONObject) json.isArray().get(i);

            if (pref != null && pref.isObject() != null && pref.size() == 1) {
                for (String key : pref.keySet()) {
                    if (pref.get(key).isString() != null) {
                        preferencesToReturn.put(key, pref.get(key).isString().stringValue());
                    } else {
                        return null;
                    }// ww  w .j  av  a  2s.  c  o  m
                }
            } else {
                return null;
            }
        }
    }

    return preferencesToReturn;
}

From source file:org.obiba.opal.web.gwt.app.client.magma.view.TableValidationView.java

License:Open Source License

private SafeHtml buildValidationResultsHtml(ValidationResultDto dto) {
    JSONObject rules = (JSONObject) JSONParser.parseStrict(dto.getRules());
    JSONObject failures = (JSONObject) JSONParser.parseStrict(dto.getFailures());

    SafeHtmlBuilder builder = new SafeHtmlBuilder();

    if (rules.size() > 0) {
        Map<String, Set<String>> variableRuleMap = getVariableRuleMap(rules);
        Map<List<String>, List<String>> failedValuesMap = getVariableRuleFailedValuesMap(failures);
        builder.appendHtmlConstant("<h4>").appendEscaped(translations.validationOverviewTitle())
                .appendHtmlConstant("</h4>");
        builder.append(buildValidationSummaryTable(variableRuleMap, failedValuesMap));
        builder.appendHtmlConstant("<h4>").appendEscaped(translations.validationDetailTitle())
                .appendHtmlConstant("</h4>");
        addValidationFailureTable(builder, failedValuesMap);
    } else {//from  w  ww .ja v  a 2 s.c om
        builder.appendEscaped("No validation configured");
    }
    return builder.toSafeHtml();
}