List of usage examples for com.google.gwt.user.client Window confirm
public static boolean confirm(String msg)
From source file:eu.riscoss.client.riskanalysis.RASPanel.java
License:Apache License
protected void generateButtons() { saveRas = new Button("Save"); saveRas.setStyleName("deleteButton"); saveRas.addClickHandler(new ClickHandler() { @Override//from w w w. j a v a2s . c om public void onClick(ClickEvent event) { saveRASData(); } }); update = new Button("Update"); update.setStyleName("deleteButton"); update.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { onUpdateIsClicked(); } }); run = new Button("Run"); run.setStyleName("deleteButton"); run.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { onRunIsClicked(); } }); backupUpdate = new Button("Backup & Update"); backupUpdate.setStyleName("deleteButton"); backupUpdate.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { onBackupUpdateClicked(); } }); backupRun = new Button("Backup & Run"); backupRun.setStyleName("deleteButton"); backupRun.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { onBackupRunClicked(); } }); remove = new Button("Delete"); remove.setStyleName("deleteButton"); remove.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { Boolean b = Window.confirm("Are you sure that you want to delete risk session " + rasName + "?"); if (b) { String or = Window.Location.getParameter("or"); if (or == null) { risk.remove(selectedRAS); } else Window.Location.replace("dashboard.jsp"); } } }); browseBack = new Button("Back"); browseBack.setStyleName("deleteButton"); browseBack.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { rasModule.back(); } }); browseDelete = new Button("Delete"); browseDelete.setStyleName("deleteButton"); browseDelete.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { Boolean b = Window.confirm("Are you sure that you want to delete risk session " + rasName + "?"); if (b) { RiscossJsonClient.deleteRiskAnalysisSession(sessionSummary.getID(), new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { Window.alert(exception.getMessage()); } @Override public void onSuccess(Method method, JSONValue response) { rasModule.back(); } }); } } }); entityBack = new Button("Back"); entityBack.setStyleName("deleteButton"); entityBack.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { eppg.back(entityB); } }); entityDelete = new Button("Delete"); entityDelete.setStyleName("deleteButton"); entityDelete.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { Boolean b = Window.confirm("Are you sure that you want to delete risk session " + rasName + "?"); if (b) eppg.delete(sessionSummary.getID(), entityB); } }); layerBack = new Button("Back"); layerBack.setStyleName("deleteButton"); layerBack.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { eppg.back(entityB); } }); layerDelete = new Button("Delete"); layerDelete.setStyleName("deleteButton"); layerDelete.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { Boolean b = Window.confirm("Are you sure that you want to delete risk session " + rasName + "?"); if (b) eppg.delete(sessionSummary.getID(), entityB); } }); save = new Button("Save & Run"); save.setStyleName("deleteButton"); save.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CodecRiskData crd = GWT.create(CodecRiskData.class); JSONValue values = crd.encode(inputForm.getValueMap()); Log.println(values.toString()); RiscossJsonClient.setAnalysisMissingData(selectedRAS, values, new JsonCallback() { @Override public void onSuccess(Method method, JSONValue response) { onSaveAndRunClicked(); } @Override public void onFailure(Method method, Throwable exception) { Window.alert(exception.getMessage()); } }); } }); backupSave = new Button("Backup, Save & Run"); backupSave.setStyleName("deleteButton"); backupSave.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { onBackupSaveClicked(); } }); mitigation = new Button("Apply mitigation"); mitigation.setStyleName("deleteButton"); mitigation.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { applyMitigation(); } }); whatIf = new Button("What-If"); whatIf.setStyleName("deleteButton"); whatIf.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { whatIfAnalysis(); } }); generateReport = new Button("Generate report"); generateReport.setStyleName("deleteButton"); generateReport.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { generateReport(); } }); }
From source file:eu.riscoss.client.riskconfs.RiskConfsModule.java
License:Apache License
protected void deleteRC() { if (hasRisk)/*w ww . ja v a 2 s. c om*/ Window.alert("Risk configurations with associated risk sessions cannot be deleted"); else { Boolean b = Window .confirm("Are you sure that you want to delete risk configuration " + selectedRC + "?"); if (b) { RiscossJsonClient.deleteRC(selectedRC, new JsonCallback() { @Override public void onFailure(Method method, Throwable exception) { Window.alert(exception.getMessage()); } @Override public void onSuccess(Method method, JSONValue response) { onRCSelected(null); Window.Location.reload(); } }); } } }
From source file:fr.aliasource.webmail.client.composer.CannedResponsePanel.java
License:GNU General Public License
private AsyncCallback<ConversationList> getListConvCallback() { vp.clear();/*from ww w. j a v a2 s . c om*/ return new AsyncCallback<ConversationList>() { public void onSuccess(ConversationList convs) { if (convs.getFullLength() == 0) { Label l = new Label(I18N.strings.noCannedResponses()); vp.add(l); } else { Conversation[] c = convs.getData(); for (Conversation conv : c) { String title = conv.getTitle(); final ConversationId id = conv.getId(); Anchor hl = new Anchor(title); hl.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (!mc.isEmpty()) { if (Window.confirm(I18N.strings.loadCannedResponse())) { loadCannedResponse(id); } } else { loadCannedResponse(id); } pp.hide(); } }); vp.add(hl); } } } public void onFailure(Throwable caught) { Label l = new Label(I18N.strings.noCannedResponses()); vp.add(l); } }; }
From source file:fr.aliasource.webmail.client.settings.FolderSettingsDataGrid.java
License:GNU General Public License
private void fillRow(final Folder folder, final int i) { final int margin = sepCount(folder.getName()); if (i % 2 == 0) { getRowFormatter().setStyleName(i, "odd"); } else {/*from w w w.j ava 2s . co m*/ getRowFormatter().setStyleName(i, "even"); } getCellFormatter().setStyleName(i, 0, "settingsCell"); getCellFormatter().setStyleName(i, 1, "settingsCell"); getCellFormatter().setStyleName(i, 2, "settingsCell"); getCellFormatter().setStyleName(i, 3, "settingsCell"); getCellFormatter().setStyleName(i, 4, "settingsCell"); Anchor createLink = new Anchor(I18N.strings.createSubFolder()); createLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { flt.selectFolder(folder); } }); final String folderName = ui.displayName(folder); Anchor renameLink = new Anchor(I18N.strings.renameFolder()); renameLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { final TextBox in = new TextBox(); in.setText(folderName); in.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { if (KeyCodes.KEY_ENTER == event.getNativeEvent().getKeyCode()) { flt.renameFolder(folder, in.getText()); } } }); HorizontalPanel horizontalPanel = createAlignementPanel(margin); horizontalPanel.add(in); setWidget(i, 0, horizontalPanel); } }); if (folder.canChangeSubscription()) { Anchor folderLink = new Anchor(ui.displayName(folder)); folderLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { flt.showFolder(folder); } }); if (folder.isSubscribed()) { folderLink.addStyleName("subscribedFolderSettingsLink"); } else { folderLink.addStyleName("folderSettingsLink"); } HorizontalPanel horizontalPanel = createAlignementPanel(margin); horizontalPanel.add(folderLink); setWidget(i, 0, horizontalPanel); setWidget(i, 1, createLink); Anchor actionLink = null; if (folder.isSubscribed()) { actionLink = new Anchor(I18N.strings.unsubscribe()); actionLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { flt.unsubscribe(folder); } }); } else { actionLink = new Anchor(I18N.strings.subscribe()); actionLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { flt.subscribe(folder); } }); } setWidget(i, 2, actionLink); } else { Label label = new Label(ui.displayName(folder.getName())); label.addStyleName("folderSettingsLabel"); label.getElement().setAttribute("style", "margin-left: " + margin + "px"); setWidget(i, 0, label); setWidget(i, 1, createLink); setWidget(i, 2, new HTML(" ")); } boolean folderProtected = isProtectedFolders(folder); if (folder.canRename() && !folderProtected) { setWidget(i, 3, renameLink); } else { setWidget(i, 3, new HTML(" ")); } if (folder.canDelete() && !folderProtected) { Anchor deleteLink = new Anchor(I18N.strings.delete()); deleteLink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent sender) { if (isInTrash(folder)) { if (Window.confirm(I18N.strings.confirmDirectDelete(folder.getDisplayName()))) { flt.deleteFolder(folder); } } else { if (Window.confirm(I18N.strings.confirmDeleteFolder(folder.getDisplayName()))) { flt.deleteFolder(folder); } } } }); setWidget(i, 4, deleteLink); } else { setWidget(i, 4, new HTML(" ")); } }
From source file:fr.aliasource.webmail.client.View.java
License:GNU General Public License
public boolean confirmFolderAction(int nbConversations, Folder folderName) { return Window.confirm( I18N.strings.confirmFolderAction(Integer.toString(nbConversations), displayName(folderName))); }
From source file:fr.gael.dhus.gwt.client.page.SearchPage.java
License:Open Source License
private static void deleteProduct(int id, String name) { if (!Window.confirm("Are you sure to delete the product '" + name + "' ?")) { return;/*from w w w . jav a 2s .co m*/ } productService.deleteProduct(new Long(id), new AccessDeniedRedirectionCallback<Void>() { @Override public void _onFailure(Throwable caught) { Window.alert("There was an error while deleting product.\n " + caught.getMessage()); } @Override public void onSuccess(Void result) { refreshSearch(); } }); return; }
From source file:fr.putnami.pwt.core.mvp.client.MvpController.java
License:Open Source License
@Override public void goTo(final Place newPlace) { if (this.getWhere().equals(newPlace)) { return;/*from w w w . j a va2 s . c o m*/ } PlaceChangeRequestEvent willChange = new PlaceChangeRequestEvent(newPlace); EventBus.get().fireEvent(willChange); String warning = willChange.getWarning(); if (warning == null || Window.confirm(warning)) { this.doGo(newPlace); } else { this.goTo(this.getWhere()); } }
From source file:gov.nist.spectrumbrowser.admin.FftPowerSensorBands.java
License:Open Source License
public void draw() { verticalPanel.clear();//from ww w.ja v a 2 s.c o m HTML html = new HTML("<H2>Bands for sensor : " + sensor.getSensorId() + "</H2>"); verticalPanel.add(html); JSONObject sensorThresholds = sensor.getThresholds(); Grid grid = new Grid(sensorThresholds.keySet().size() + 1, 10); grid.setBorderWidth(2); grid.setCellPadding(2); grid.setCellSpacing(2); grid.setText(0, 0, "System To Detect"); grid.setText(0, 1, "Min Freq (Hz)"); grid.setText(0, 2, "Max Freq (Hz)"); grid.setText(0, 3, "Channel Count"); grid.setText(0, 4, "Sampling Rate"); grid.setText(0, 5, "FFT-Size"); grid.setText(0, 6, "Occupancy Threshold (dBm/Hz)"); grid.setText(0, 7, "Occupancy Threshold (dBm)"); grid.setText(0, 8, "Enabled?"); grid.setText(0, 9, "Delete Band"); grid.setBorderWidth(2); grid.setCellPadding(2); grid.setCellSpacing(2); CellFormatter formatter = grid.getCellFormatter(); for (int i = 0; i < grid.getRowCount(); i++) { for (int j = 0; j < grid.getColumnCount(); j++) { formatter.setHorizontalAlignment(i, j, HasHorizontalAlignment.ALIGN_CENTER); formatter.setVerticalAlignment(i, j, HasVerticalAlignment.ALIGN_MIDDLE); } } for (int i = 0; i < grid.getColumnCount(); i++) { grid.getCellFormatter().setStyleName(0, i, "textLabelStyle"); } int row = 1; for (String key : sensorThresholds.keySet()) { final FftPowerBand threshold = new FftPowerBand(sensorThresholds.get(key).isObject()); grid.setText(row, 0, threshold.getSystemToDetect()); grid.setText(row, 1, Long.toString(threshold.getMinFreqHz())); grid.setText(row, 2, Long.toString(threshold.getMaxFreqHz())); final TextBox channelCountTextBox = new TextBox(); channelCountTextBox.setText(Long.toString(threshold.getChannelCount())); channelCountTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Long oldValue = Long.parseLong(channelCountTextBox.getValue()); try { long newValue = Long.parseLong(event.getValue()); threshold.setChannelCount((long) newValue); } catch (Exception ex) { Window.alert(ex.getMessage()); channelCountTextBox.setValue(Double.toString(oldValue)); } } }); grid.setWidget(row, 3, channelCountTextBox); final TextBox samplingRateTextBox = new TextBox(); samplingRateTextBox.setText(Long.toString(threshold.getSamplingRate())); samplingRateTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Long oldValue = Long.parseLong(samplingRateTextBox.getValue()); try { long newValue = Long.parseLong(event.getValue()); threshold.setSamplingRate((long) newValue); } catch (Exception ex) { Window.alert(ex.getMessage()); samplingRateTextBox.setValue(Double.toString(oldValue)); } } }); grid.setWidget(row, 4, samplingRateTextBox); final TextBox fftSizeTextBox = new TextBox(); fftSizeTextBox.setText(Long.toString(threshold.getFftSize())); fftSizeTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Long oldValue = Long.parseLong(fftSizeTextBox.getValue()); try { long newValue = Long.parseLong(event.getValue()); threshold.setFftSize((long) newValue); } catch (Exception ex) { Window.alert(ex.getMessage()); fftSizeTextBox.setValue(Double.toString(oldValue)); } } }); grid.setWidget(row, 5, fftSizeTextBox); final Label thresholdDbmLabel = new Label(); final TextBox thresholdTextBox = new TextBox(); thresholdTextBox.setText(Double.toString(threshold.getThresholdDbmPerHz())); thresholdTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { Double oldThreshold = Double.parseDouble(thresholdTextBox.getValue()); try { double newThreshold = Double.parseDouble(event.getValue()); threshold.setThresholdDbmPerHz(newThreshold); thresholdDbmLabel.setText(Float.toString(threshold.getThresholdDbm())); } catch (Exception ex) { Window.alert(ex.getMessage()); thresholdTextBox.setValue(Double.toString(oldThreshold)); } } }); grid.setWidget(row, 6, thresholdTextBox); thresholdDbmLabel.setText(Float.toString(threshold.getThresholdDbm())); grid.setWidget(row, 7, thresholdDbmLabel); CheckBox activeCheckBox = new CheckBox(); grid.setWidget(row, 8, activeCheckBox); if (!sensor.isStreamingEnabled()) { activeCheckBox.setValue(true); activeCheckBox.setEnabled(false); } else { activeCheckBox.setValue(threshold.isActive()); } activeCheckBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { if (sensor.isStreamingEnabled()) { if (event.getValue()) { for (String key : sensor.getThresholds().keySet()) { FftPowerBand th = new FftPowerBand(sensor.getThreshold(key)); th.setActive(false); } } threshold.setActive(event.getValue()); draw(); } } }); Button deleteButton = new Button("Delete Band"); deleteButton.addClickHandler(new DeleteThresholdClickHandler(threshold)); grid.setWidget(row, 9, deleteButton); row++; } verticalPanel.add(grid); HorizontalPanel horizontalPanel = new HorizontalPanel(); Button addButton = new Button("Add Band"); addButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new AddFftPowerSensorBand(admin, FftPowerSensorBands.this, sensorConfig, sensor, verticalPanel) .draw(); } }); horizontalPanel.add(addButton); Button doneButton = new Button("Done"); doneButton.setTitle("Return to Sensors screen"); doneButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { sensorConfig.redraw(); } }); horizontalPanel.add(doneButton); Button updateButton = new Button("Update"); updateButton.setTitle("Update sensor on the server"); updateButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Admin.getAdminService().updateSensor(sensor.toString(), sensorConfig); } }); horizontalPanel.add(updateButton); Button logoffButton = new Button("Log Off"); logoffButton.setTitle("Log off from admin"); logoffButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { admin.logoff(); } }); Button recomputeButton = new Button("Recompute Occupancies"); recomputeButton.setTitle("Recomputes per message summary occupancies."); recomputeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { boolean yes = Window.confirm( "Ensure no users are using the system. This can take a long time. Sensor will be disabled. Proceed?"); if (yes) { final HTML html = new HTML( "<h3>Recomputing occupancies - this can take a while. Sensor will be disabled. Please wait. </h3>"); verticalPanel.add(html); Admin.getAdminService().updateSensor(sensor.toString(), sensorConfig); Admin.getAdminService().recomputeOccupancies(sensor.getSensorId(), new SpectrumBrowserCallback<String>() { @Override public void onSuccess(String result) { verticalPanel.remove(html); } @Override public void onFailure(Throwable throwable) { Window.alert("Error communicating with server"); admin.logoff(); } }); } } }); horizontalPanel.add(recomputeButton); horizontalPanel.add(logoffButton); verticalPanel.add(horizontalPanel); }
From source file:gov.nist.spectrumbrowser.admin.ManageStorage.java
License:Open Source License
public void draw() { verticalPanel.clear();/*from w w w . j av a 2 s. co m*/ HTML title = new HTML("<h3>Sensor Storage Management </h3>"); verticalPanel.add(title); Grid grid = new Grid(2, 2); grid.setText(0, 0, "Data Retention Duration (months)"); final TextBox dataRetentionTextBox = new TextBox(); dataRetentionTextBox.setWidth("30px"); dataRetentionTextBox.setValue(Integer.toString(sensor.getDataRetentionDurationMonths())); dataRetentionTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { try { int newRetention = Integer.parseInt(event.getValue()); if (!sensor.setDataRetentionDurationMonths(newRetention)) { Window.alert("Please enter a valid integer >= 0"); dataRetentionTextBox.setText(Integer.toString(sensor.getDataRetentionDurationMonths())); return; } Admin.getAdminService().updateSensor(sensor.toString(), ManageStorage.this); } catch (Exception ex) { Window.alert("Please enter a valid integer >= 0"); } } }); grid.setWidget(0, 1, dataRetentionTextBox); Button cleanupButton = new Button("Garbage Collect"); cleanupButton.setTitle("Removes timed out data"); cleanupButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.getSensorStatus().equals("ENABLED")) { Window.alert("Please toggle sensor status"); return; } boolean yes = Window .confirm("This can take a while. Please ensure there are no active user sessions. " + "Deleted records can't be reclaimed."); if (yes) { verticalPanel.add(progress); ManageStorage.this.updateFlag = true; Admin.getAdminService().garbageCollect(sensor.getSensorId(), ManageStorage.this); } } }); verticalPanel.add(grid); HorizontalPanel hpanel = new HorizontalPanel(); hpanel.add(cleanupButton); Button done = new Button("Done"); done.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.alert("Please re-enable sensor on sensor management page"); sensorConfig.draw(); } }); hpanel.add(done); Button logoffButton = new Button("Log out"); logoffButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { admin.logoff(); } }); hpanel.add(logoffButton); verticalPanel.add(hpanel); }
From source file:gov.nist.spectrumbrowser.admin.SensorConfig.java
License:Open Source License
@Override public void draw() { verticalPanel.clear();//from w ww . j ava 2s. co m HTML title = new HTML("<h3>Configured sensors. </h3>"); titlePanel = new HorizontalPanel(); titlePanel.add(title); HTML subtitle = new HTML("<p>Select Add button to add a new sensor. " + "Buttons on each sensor row allow you to reconfigure the sensor.</p>"); verticalPanel.add(titlePanel); verticalPanel.add(subtitle); ; grid = new Grid(sensors.size() + 1, 13); for (int i = 0; i < grid.getColumnCount(); i++) { grid.getCellFormatter().setStyleName(0, i, "textLabelStyle"); } for (int i = 0; i < grid.getRowCount(); i++) { for (int j = 0; j < grid.getColumnCount(); j++) { grid.getCellFormatter().setHorizontalAlignment(i, j, HasHorizontalAlignment.ALIGN_CENTER); grid.getCellFormatter().setVerticalAlignment(i, j, HasVerticalAlignment.ALIGN_MIDDLE); } } grid.setCellPadding(2); grid.setCellSpacing(2); grid.setBorderWidth(2); int col = 0; // Column headings. grid.setText(0, col++, "Sensor Identity"); //1 grid.setText(0, col++, "Storage Management");//2 grid.setText(0, col++, "Frequency Bands");//3 grid.setText(0, col++, "Show Activity");//4 grid.setText(0, col++, "Enabled?");//5 grid.setText(0, col++, "Get System Messages");//6 grid.setText(0, col++, "Measurement Params");//7 grid.setText(0, col++, "Startup Params");//8 grid.setText(0, col++, "Duplicate Settings");//9 grid.setText(0, col++, "Purge Data");//10 grid.setText(0, col++, "Remove Sensor");//11 grid.setText(0, col++, "Configuration Status"); //12 grid.setText(0, col++, "Run Status"); //13 int row = 1; for (final Sensor sensor : sensors) { col = 0; Button sensorIdentityButton = new Button(sensor.getSensorId()); sensorIdentityButton.setWidth("100%"); grid.setWidget(row, col++, sensorIdentityButton); sensorIdentityButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new SensorIdentity(admin, SensorConfig.this, sensor, verticalPanel).draw(); } }); final Button manageStorage = new Button("Manage Storage"); manageStorage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.getSensorStatus().equals("ENABLED")) { Window.alert("Please disable sensor first (click on check box)."); } else { new ManageStorage(admin, verticalPanel, sensors, sensor, SensorConfig.this).draw(); } } }); grid.setWidget(row, col++, manageStorage); int thresholdCount = sensor.getThresholds().keySet().size(); Button thresholdButton; if (thresholdCount == 0) thresholdButton = new Button("Add"); else thresholdButton = new Button("Change/Add"); thresholdButton.setTitle("Define Band Occupancy Threshold."); if (thresholdCount == 0) { thresholdButton.setStyleName("dangerous"); } thresholdButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.getMeasurementType().equals(Defines.SWEPT_FREQUENCY)) { new SweptFrequencySensorBands(admin, SensorConfig.this, sensor, verticalPanel).draw(); } else { new FftPowerSensorBands(admin, SensorConfig.this, sensor, verticalPanel).draw(); } } }); grid.setWidget(row, col++, thresholdButton); Button getMessageDates = new Button("Show"); getMessageDates.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new ShowMessageDates(admin, SensorConfig.this, sensor, verticalPanel).draw(); } }); grid.setWidget(row, col++, getMessageDates); CheckBox statusCheckBox = new CheckBox(); statusCheckBox.setValue(sensor.getSensorStatus().equals("ENABLED")); statusCheckBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { SensorConfig.this.updateFlag = true; Admin.getAdminService().toggleSensorStatus(sensor.getSensorId(), SensorConfig.this); } }); grid.setWidget(row, col++, statusCheckBox); Button downloadSysMessages = new Button("Get"); grid.setWidget(row, col++, downloadSysMessages); downloadSysMessages.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Admin.getAdminService().getSystemMessages(sensor.getSensorId(), new SpectrumBrowserCallback<String>() { @Override public void onSuccess(String result) { JSONObject jsonObj = JSONParser.parseLenient(result).isObject(); String status = jsonObj.get("status").isString().stringValue(); if (status.equals("OK")) { Window.alert("Please check your email in 10 minutes for notification"); } else { Window.alert(jsonObj.get("ErrorMessage").isString().stringValue()); } } @Override public void onFailure(Throwable throwable) { // TODO Auto-generated method stub } }); } }); Button streamingButton = new Button(); if (!sensor.isStreamingEnabled()) { streamingButton.setText("Measurement Params"); if (!sensor.isMeasurementConfigured()) { streamingButton.setStyleName("dangerous"); } streamingButton.setTitle("Configure sensor measurement parameters"); } else { streamingButton.setText("Streaming Params"); streamingButton.setTitle("Streaming Params"); if (!sensor.isStreamingConfigured()) { streamingButton.setStyleName("dangerous"); } } grid.setWidget(row, col++, streamingButton); // 9 streamingButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.isStreamingEnabled()) { new SetStreamingParams(admin, verticalPanel, sensor, SensorConfig.this).draw(); } else { new SetMeasurementParams(admin, verticalPanel, sensor, SensorConfig.this).draw(); } } }); TextBox startupParamsTextBox = new TextBox(); startupParamsTextBox.setWidth("120px"); grid.setWidget(row, col++, startupParamsTextBox); startupParamsTextBox.setTitle("Startup parameters (read by sensor on startup)"); startupParamsTextBox.setText(sensor.getStartupParams()); startupParamsTextBox.addValueChangeHandler(new ValueChangeHandler<String>() { @Override public void onValueChange(ValueChangeEvent<String> event) { sensor.setStartupParams(event.getValue()); Admin.getAdminService().updateSensor(sensor.toString(), SensorConfig.this); } }); Button dupButton = new Button("Dup"); dupButton.setTitle("Creates a new sensor with the same settings"); dupButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new AddNewSensor(admin, verticalPanel, sensor, SensorConfig.this).draw(); } }); grid.setWidget(row, col++, dupButton); Button purgeButton = new Button("Purge Data"); purgeButton.setTitle("WARNING: Removes Sensor and all data associated with it"); purgeButton.setStyleName("dangerous"); purgeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.getSensorStatus().equals("ENABLED")) { Window.alert("Please toggle state of sensor"); return; } boolean yes = Window.confirm( "Remove the all associated data? Cannot be undone! Ensure no active sessions."); if (yes) { titlePanel.clear(); HTML html = new HTML( "<h3>Purging sensor " + sensor.getSensorId() + ". This can take a while! </h3>"); titlePanel.add(html); SensorConfig.this.updateFlag = true; Admin.getAdminService().purgeSensor(sensor.getSensorId(), SensorConfig.this); } } }); grid.setWidget(row, col++, purgeButton); Button removeButton = new Button("Remove Sensor"); removeButton.setTitle("WARNING: Removes Sensor and all data associated with it"); removeButton.setStyleName("dangerous"); removeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (sensor.getSensorStatus().equals("ENABLED")) { Window.alert("Please toggle state of sensor"); return; } boolean yes = Window.confirm("Remove Sensor?"); if (yes) { titlePanel.clear(); HTML html = new HTML( "<h3>Removing " + sensor.getSensorId() + ". This can take a while! </h3>"); titlePanel.add(html); SensorConfig.this.updateFlag = true; Admin.getAdminService().deleteSensor(sensor.getSensorId(), SensorConfig.this); } } }); grid.setWidget(row, col++, removeButton); boolean isConfigured = true; if (sensor.getThresholdCount() == 0) { isConfigured = false; } else if (sensor.isStreamingEnabled()) { if (!new StreamingParams(sensor.getStreamingConfig()).verify()) { isConfigured = false; } } else if (!new MeasurementParams(sensor.getMeasurementParams()).verify()) { isConfigured = false; } grid.setText(row, col++, isConfigured ? "Configured" : "Incomplete"); grid.setText(row, col++, sensor.getSensorStatus()); row++; } verticalPanel.add(grid); HorizontalPanel buttonPanel = new HorizontalPanel(); Button addNewSensorButton = new Button("Add new sensor"); addNewSensorButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { new AddNewSensor(admin, verticalPanel, SensorConfig.this).draw(); } }); buttonPanel.add(addNewSensorButton); Button refreshButton = new Button("Refresh"); refreshButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { SensorConfig.this.redraw(); } }); buttonPanel.add(refreshButton); Button logoffButton = new Button("Log Off"); logoffButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { admin.logoff(); } }); buttonPanel.add(logoffButton); verticalPanel.add(buttonPanel); }