Example usage for com.google.gwt.json.client JSONValue isObject

List of usage examples for com.google.gwt.json.client JSONValue isObject

Introduction

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

Prototype

public JSONObject isObject() 

Source Link

Document

Returns non-null if this JSONValue is really a JSONObject.

Usage

From source file:gov.nist.spectrumbrowser.admin.AddAccount.java

License:Open Source License

@Override
public void onSuccess(String result) {
    try {//from ww  w .  j a  v  a 2  s .c  om
        JSONValue jsonValue = JSONParser.parseLenient(result);
        String serverStatus = jsonValue.isObject().get("status").isString().stringValue();
        String serverStatusMessage = jsonValue.isObject().get("statusMessage").isString().stringValue();
        logger.finer("serverStatus in AddAccount " + serverStatus);
        logger.finer("serverStatusMessage in AddAccount " + serverStatusMessage);

        if (!serverStatus.equals("OK")) {
            logger.finer("serverStatus not ok in add account: " + serverStatus);
            Window.alert(serverStatusMessage);
        } else {
            logger.finer("serverStatus ok in add account: " + serverStatus);
            new AccountManagement(this.admin).draw();
        }

    } catch (Throwable th) {
        Window.alert("Error parsing returned JSON");
        logger.log(Level.SEVERE, "Problem parsing JSON", th);
    }
}

From source file:gov.nist.spectrumbrowser.admin.Admin.java

License:Open Source License

private void loginHandler() {
    String emailAddress, password;
    emailAddress = password = "";

    emailAddress = emailEntry.getValue().trim();
    password = passwordEntry.getValue();

    logger.finer("LogintoServer: " + emailAddress);
    if (emailAddress == null || emailAddress.length() == 0) {
        Window.alert("Email address is required");
        return;//from  w w w  . j  a  v  a  2 s.c o m
    }
    if (password == null || password.length() == 0) {
        Window.alert("Password is required");
        return;
    }
    JSONObject jsonObject = new JSONObject();
    jsonObject.put(Defines.ACCOUNT_EMAIL_ADDRESS, new JSONString(emailAddress));
    jsonObject.put(Defines.ACCOUNT_PASSWORD, new JSONString(password));
    jsonObject.put(Defines.ACCOUNT_PRIVILEGE, new JSONString(Defines.ADMIN_PRIVILEGE));

    adminService.authenticate(jsonObject.toString(), new SpectrumBrowserCallback<String>() {

        @Override
        public void onFailure(Throwable errorTrace) {
            logger.log(Level.SEVERE, "Error sending request to the server", errorTrace);
            if (!isUserLoggedIn) {
                Window.alert("Error communicating with the server.");
            }
        }

        @Override
        public void onSuccess(String result) {
            try {
                JSONValue jsonValue = JSONParser.parseStrict(result);
                JSONObject jsonObject = jsonValue.isObject();
                String status = jsonObject.get(Defines.STATUS).isString().stringValue();
                String statusMessage = jsonObject.get(Defines.STATUS_MESSAGE).isString().stringValue();
                if (status.equals("OK")) {
                    String sessionToken = jsonObject.get(Defines.SESSION_ID).isString().stringValue();
                    setSessionToken(sessionToken);
                    Cookies.setCookie(COOKIE, sessionToken);
                    isUserLoggedIn = true;
                    adminScreen = new AdminScreen(verticalPanel, Admin.this);
                    adminScreen.draw();
                } else {
                    Window.alert(statusMessage);
                    if (statusMessage.startsWith(Defines.PASSWORD_EXPIRED_ERROR)) {
                        new ResetPassword(verticalPanel, Defines.ADMIN, Admin.this).draw();
                    }
                }
            } catch (Throwable ex) {
                Window.alert("Admin: Problem initializing application");
                logger.log(Level.SEVERE, " initializing application", ex);
                logoff();

            }
        }
    });
}

From source file:gov.nist.spectrumbrowser.admin.ESAgents.java

License:Open Source License

@Override
public void onSuccess(String result) {
    logger.log(Level.FINER, " ESAgents:onSuccess " + result);
    try {/*from   ww w  .  j ava 2  s  .  com*/
        JSONValue jsonValue = JSONParser.parseLenient(result);
        esAgents = jsonValue.isObject().get("esAgents").isArray();
        if (redraw) {
            this.draw();
        }
    } catch (Throwable th) {
        Window.alert("Error parsing returned JSON");
        logger.log(Level.SEVERE, "Problem parsing JSON", th);
    }
}

From source file:gov.nist.spectrumbrowser.admin.InboundPeers.java

License:Open Source License

@Override
public void onSuccess(String result) {
    try {//from ww  w . ja v  a2  s  .  c o  m
        JSONValue jsonValue = JSONParser.parseLenient(result);
        String status = jsonValue.isObject().get("status").isString().stringValue();
        if (!status.equals("OK")) {
            String errorMessage = jsonValue.isObject().get("ErrorMessage").isString().stringValue();
            Window.alert("Error in adding peer " + errorMessage);
            return;
        }
        peers = jsonValue.isObject().get("inboundPeers").isArray();
        logger.finer("Returned " + peers.size());
        if (redraw) {
            this.draw();
        }
    } catch (Throwable th) {
        Window.alert("Error parsing returned JSON");
        logger.log(Level.SEVERE, "Problem parsing JSON", th);
    }
}

From source file:gov.nist.spectrumbrowser.admin.JSONViewer.java

License:Open Source License

private TreeItem populate(TreeItem root, JSONObject jsonObject) {
    Set<String> keySet = jsonObject.keySet();
    for (String key : keySet) {
        JSONValue jsonValue = jsonObject.get(key);
        JSONString jsonString = jsonValue.isString();
        JSONNumber jsonNumber = jsonValue.isNumber();
        TreeItem treeItem = root.addTextItem(key);
        if (jsonString != null) {
            String stringValue = jsonString.stringValue();
            treeItem.addTextItem(stringValue);
        } else if (jsonNumber != null) {
            String stringValue = Double.toString(jsonNumber.doubleValue());
            treeItem.addTextItem(stringValue);
        } else if (jsonValue.isObject() != null) {
            populate(treeItem, jsonValue.isObject());
        }// ww w .  j  a va 2  s  .  co  m
    }

    return root;

}

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

License:Open Source License

@Override
public void onSuccess(String result) {
    try {/* w  w w  .  j av  a 2  s  .  c  om*/
        JSONValue jsonValue = JSONParser.parseLenient(result);
        JSONObject jsonObject = jsonValue.isObject();
        String status = jsonObject.get("status").isString().stringValue();
        if (status.equals("NOK")) {
            Window.alert("No data in specified range");
            return;
        }
        final String uri = jsonObject.get("dump").isString().stringValue();
        String url = jsonObject.get("url").isString().stringValue();
        logger.finer("URL for data " + url);
        checkButton = new Button("Click to check for data availability");
        checkButton.addClickHandler(new CheckForDataAvailability(uri, url));
        title = new HTML("<h2>Bundling requested data</h2>");
        verticalPanel.add(title);
        verticalPanel.add(checkButton);

        urlPanel = new HorizontalPanel();
        verticalPanel.add(urlPanel);

        /*
         * If user logged in we can mail him a notification.
         */

        if (spectrumBrowser.getLoginEmailAddress() != null) {
            hpanel = new HorizontalPanel();
            Label label1 = new Label("Email notification to " + spectrumBrowser.getLoginEmailAddress());
            hpanel.add(label1);
            Button submitButton = new Button();
            submitButton.setStyleName("sendButton");
            submitButton.setText("Submit");
            hpanel.add(submitButton);
            submitButton.addClickHandler(new ClickHandler() {
                @Override
                public void onClick(ClickEvent event) {
                    spectrumBrowser.getSpectrumBrowserService().emailUrlToUser(sensorId, uri,
                            spectrumBrowser.getLoginEmailAddress(), new SpectrumBrowserCallback<String>() {

                                @Override
                                public void onSuccess(String result) {
                                    JSONValue jsonValue = JSONParser.parseLenient(result);
                                    String status = jsonValue.isObject().get("status").isString().stringValue();
                                    if (status.equals("OK")) {
                                        Window.alert("Check your email for notification");
                                        navigateToPreviousScreen();
                                    } else {
                                        Window.alert("Please register if you want email notification");
                                    }

                                }

                                @Override
                                public void onFailure(Throwable throwable) {
                                    Window.alert("Error communicating with server");

                                }
                            });

                }

            });
            verticalPanel.add(hpanel);
        }

    } catch (Throwable th) {
        logger.log(Level.SEVERE, "Error parsing json file ", th);
    }

}

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

License:Open Source License

private void populate(TreeItem root, JSONObject jsonObject) {
    Set<String> keySet = jsonObject.keySet();
    for (String key : keySet) {
        JSONValue jsonValue = jsonObject.get(key);
        JSONString jsonString = jsonValue.isString();
        JSONNumber jsonNumber = jsonValue.isNumber();
        TreeItem treeItem = root.addTextItem(key);
        if (jsonString != null) {
            String stringValue = jsonString.stringValue();
            treeItem.addTextItem(stringValue);
        } else if (jsonNumber != null) {
            String stringValue = Double.toString(jsonNumber.doubleValue());
            treeItem.addTextItem(stringValue);
        } else if (jsonValue.isObject() != null) {
            populate(treeItem, jsonValue.isObject());
        }//from w w w  . j  a  v a 2  s  .  c o m
    }

}

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

License:Open Source License

@Override
public void onSuccess(String result) {

    JSONValue jsonValue = JSONParser.parseLenient(result);
    final JSONArray frequencyData = jsonValue.isObject().get("freqArray").isArray();
    final JSONArray spectrumData = jsonValue.isObject().get("spectrumData").isArray();
    final JSONArray noiseFloorData = jsonValue.isObject().get("noiseFloorData").isArray();
    final String title = jsonValue.isObject().get("title").isString().stringValue();
    final String xlabel = jsonValue.isObject().get("xlabel").isString().stringValue();
    final String ylabel = jsonValue.isObject().get("ylabel").isString().stringValue();
    ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);

    chartLoader.loadApi(new Runnable() {
        @Override/*from  ww  w .ja  va 2 s . c  om*/
        public void run() {
            try {
                DataTable dataTable = DataTable.create();
                dataTable.addRows(spectrumData.size());
                dataTable.addColumn(ColumnType.NUMBER, xlabel);
                dataTable.addColumn(ColumnType.NUMBER, "Signal");
                dataTable.addColumn(ColumnType.NUMBER, "Noise Floor");
                for (int i = 0; i < spectrumData.size(); i++) {
                    double freq = frequencyData.get(i).isNumber().doubleValue();
                    double signalPower = spectrumData.get(i).isNumber().doubleValue();
                    double noiseFloor = noiseFloorData.get(i).isNumber().doubleValue();
                    dataTable.setCell(i, 0, freq, "Frequency (MHz) : " + round3(freq));
                    dataTable.setCell(i, 1, signalPower, "Signal Power (dBm): " + round2(signalPower));
                    dataTable.setCell(i, 2, noiseFloor, "Noise Floor (dBm): " + round2(noiseFloor));
                }
                ScatterChart spectrumChart = new ScatterChart();
                spectrumChart.setHeight(height + "px");
                spectrumChart.setWidth(width + "px");
                spectrumChart.setPixelSize(width, height);
                ScatterChartOptions options = ScatterChartOptions.create();
                options.setBackgroundColor("#f0f0f0");
                options.setPointSize(2);
                options.setHeight(height);
                options.setWidth(width);
                HAxis haxis = HAxis.create(xlabel);
                VAxis vaxis = VAxis.create(ylabel);
                options.setHAxis(haxis);
                options.setVAxis(vaxis);

                spectrumChart.draw(dataTable, options);
                HTML html = new HTML("<h3>" + title + "</h3>");
                vpanel.add(html);
                vpanel.add(spectrumChart);
            } catch (Throwable th) {
                logger.log(Level.SEVERE, "Exception in processing response", th);
            }
        }
    });

}

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

License:Open Source License

@Override
public void onSuccess(String result) {
    try {/*from  w  w w  . j av a  2s .c  o m*/
        JSONValue jsonValue = JSONParser.parseLenient(result);
        if (jsonValue.isObject().get(Defines.STATUS).equals(Defines.OK)) {
            logger.log(Level.SEVERE, "Error retrieving data");
            spectrumBrowser.displayError("Error retrieving data");
            return;
        }
        if (jsonValue.isObject().get("timeArray") != null) {
            // If data values are available then plot an active chart.
            // if the time interval is too big then data values may not be supplied.
            final JSONArray timeArray = jsonValue.isObject().get("timeArray").isArray();
            final JSONArray powerValues = jsonValue.isObject().get("powerValues").isArray();
            final String title = jsonValue.isObject().get("title").isString().stringValue();
            final String xlabel = jsonValue.isObject().get("xlabel").isString().stringValue();
            final String ylabel = jsonValue.isObject().get("ylabel").isString().stringValue();
            ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);

            chartLoader.loadApi(new Runnable() {

                @Override
                public void run() {
                    DataTable dataTable = DataTable.create();
                    dataTable.addRows(timeArray.size());
                    dataTable.addColumn(ColumnType.NUMBER, xlabel);
                    dataTable.addColumn(ColumnType.NUMBER, ylabel);

                    for (int i = 0; i < timeArray.size(); i++) {

                        double time = timeArray.get(i).isNumber().doubleValue();
                        double powerValue = powerValues.get(i).isNumber().doubleValue();
                        dataTable.setCell(i, 0, time, xlabel + " : " + Float.toString(round2(time)));
                        dataTable.setCell(i, 1, powerValue,
                                ylabel + " : " + Float.toString(round2(powerValue)));

                    }

                    ScatterChart powerVsTimeChart = new ScatterChart();
                    powerVsTimeChart.setHeight(height + "px");
                    powerVsTimeChart.setWidth(width + "px");
                    powerVsTimeChart.setPixelSize(width, height);
                    ScatterChartOptions options = ScatterChartOptions.create();
                    options.setBackgroundColor("#f0f0f0");
                    options.setPointSize(2);
                    options.setHeight(height);
                    options.setWidth(width);
                    HAxis haxis = HAxis.create(xlabel);
                    VAxis vaxis = VAxis.create(ylabel);
                    options.setHAxis(haxis);
                    options.setVAxis(vaxis);
                    Legend legend = Legend.create(LegendPosition.NONE);
                    options.setLegend(legend);
                    powerVsTimeChart.draw(dataTable, options);
                    HTML html = new HTML("<h3>" + title + "</h3>");
                    vpanel.add(html);
                    vpanel.add(powerVsTimeChart);
                }
            });

        } else {

            url = jsonValue.isObject().get("powervstime").isString().stringValue();
            spectrumImage = new FitImage();
            // spectrumImage.setWidth("100%");
            spectrumImage.setPixelSize(height, width);
            // image.setFixedWidth(canvasPixelWidth);
            spectrumImage.addLoadHandler(new LoadHandler() {

                @Override
                public void onLoad(LoadEvent event) {

                    logger.fine("Image loaded");
                    handleImageLoadEvent();

                }

            });
            spectrumImage.setVisible(false);
            spectrumImage.setUrl(url);
            RootPanel.get().add(spectrumImage);
        }

    } catch (Throwable th) {
        logger.log(Level.SEVERE, "Error parsing returned JSON ", th);
        spectrumBrowser.displayError("Error communicating with server ");
    }

}

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

License:Open Source License

private void drawMenuItems() {
    MenuBar menuBar = new MenuBar();
    SafeHtmlBuilder safeHtml = new SafeHtmlBuilder();

    menuBar.addItem(new SafeHtmlBuilder().appendEscaped(SpectrumBrowserShowDatasets.END_LABEL).toSafeHtml(),
            new Scheduler.ScheduledCommand() {

                @Override//from w  ww . j  ava2s.c o m
                public void execute() {
                    state = STATUS_MESSAGE_NOT_SEEN;
                    closingState = true;
                    websocket.close();
                    spectrumBrowserShowDatasets.draw();
                }
            });
    if (spectrumBrowser.isUserLoggedIn()) {
        menuBar.addItem(safeHtml.appendEscaped(SpectrumBrowser.LOGOFF_LABEL).toSafeHtml(),
                new Scheduler.ScheduledCommand() {

                    @Override
                    public void execute() {
                        state = STATUS_MESSAGE_NOT_SEEN;
                        closingState = true;
                        websocket.close();
                        spectrumBrowser.logoff();

                    }
                });
    }

    verticalPanel.add(menuBar);

    titlePanel = new VerticalPanel();

    verticalPanel.add(titlePanel);

    HorizontalPanel cutoffHorizontalPanel = new HorizontalPanel();

    Label cutoffLabel = new Label("Threshold (dBm):");

    cutoffHorizontalPanel.add(cutoffLabel);

    cutoffTextBox = new TextBox();

    cutoffTextBox.setText(Integer.toString((int) cutoff));

    cutoffHorizontalPanel.add(cutoffTextBox);

    Button cutoffButton = new Button("Change");

    cutoffHorizontalPanel.add(cutoffButton);

    cutoffButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            String cutoffString = cutoffTextBox.getValue();
            try {
                cutoff = Integer.parseInt(cutoffString);
            } catch (NumberFormatException nfe) {
                Window.alert("Please enter an integer");
                if (cutoff < 0)
                    cutoffTextBox.setText(Integer.toString((int) (cutoff - 0.5)));
                else
                    cutoffTextBox.setText(Integer.toString((int) (cutoff + 0.5)));
            }

        }
    });

    freezeButton = new Button("Freeze");

    freezeButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            isFrozen = !isFrozen;
            if (isFrozen) {
                freezeButton.setText("Unfreeze");
            } else {
                freezeButton.setText("Freeze");
            }
        }
    });
    cutoffHorizontalPanel.add(freezeButton);

    lastCaptureButton = new Button("Show Last Acquistion");

    cutoffHorizontalPanel.add(lastCaptureButton);

    lastCaptureButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            websocket.close();
            spectrumBrowser.getSpectrumBrowserService().getLastAcquisitionTime(sensorId,
                    new SpectrumBrowserCallback<String>() {

                        @Override
                        public void onSuccess(String result) {
                            JSONValue jsonValue = JSONParser.parseLenient(result);
                            final long selectionTime = (long) jsonValue.isObject().get("aquisitionTimeStamp")
                                    .isNumber().doubleValue();
                            if (selectionTime != -1) {
                                chartApiLoaded = false;
                                occupancyDataTable = null;
                                websocket.close();
                                state = STATUS_MESSAGE_NOT_SEEN;
                                isFrozen = false;
                                Timer timer = new Timer() {
                                    @Override
                                    public void run() {

                                        ArrayList<SpectrumBrowserScreen> navigation = new ArrayList<SpectrumBrowserScreen>();
                                        navigation.add(spectrumBrowserShowDatasets);
                                        navigation.add(SensorDataStream.this);
                                        new FftPowerOneAcquisitionSpectrogramChart(sensorId, selectionTime,
                                                sys2detect, minFreqHz, maxFreqHz, verticalPanel,
                                                spectrumBrowser, navigation);
                                    }
                                };
                                // Wait for websocket to close.
                                timer.schedule(500);
                            } else {
                                Window.alert("No Capture Found");
                            }
                        }

                        @Override
                        public void onFailure(Throwable throwable) {
                            logger.log(Level.SEVERE, "Problem contacting web server.");
                            Window.alert("Problem contacting web server");
                        }
                    });
        }
    });

    verticalPanel.add(cutoffHorizontalPanel);

}