diff --git a/src/main/java/bdv/BigDataViewer.java b/src/main/java/bdv/BigDataViewer.java index df3644ad2d832778de00296be7ff84795f47f53f..930d55a64e49f9d80450bf1c00f396195b33b5c7 100644 --- a/src/main/java/bdv/BigDataViewer.java +++ b/src/main/java/bdv/BigDataViewer.java @@ -70,10 +70,9 @@ import org.scijava.ui.behaviour.io.yaml.YamlConfigIO; import javax.swing.*; import javax.swing.filechooser.FileFilter; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -109,6 +108,7 @@ public class BigDataViewer { protected File proposedSettingsFile; private boolean enableCompression; + private String fileName = null; public void toggleManualTransformation() { manualTransformationEditor.toggle(); @@ -412,12 +412,22 @@ public class BigDataViewer { menu = new JMenu("QCMP Compression"); menubar.add(menu); - final JCheckBoxMenuItem enableCompressionCheckBox = new JCheckBoxMenuItem("Enable compression", true); - enableCompressionCheckBox.addActionListener(e -> { - enableDisableCompression(enableCompressionCheckBox.isSelected()); + final JMenuItem sendSummaryRequest = new JMenuItem("Request summary info from server"); + sendSummaryRequest.addActionListener(event -> { + System.out.println("Send summary request."); + try { + sendSummaryRequest(fileName + "?p=summary"); + } catch (final Exception err) { + err.printStackTrace(); + } }); + menu.add(sendSummaryRequest); - menu.add(enableCompressionCheckBox); + // final JCheckBoxMenuItem enableCompressionCheckBox = new JCheckBoxMenuItem("Enable compression", true); + // enableCompressionCheckBox.addActionListener(e -> { + // enableDisableCompression(enableCompressionCheckBox.isSelected()); + // }); + // menu.add(enableCompressionCheckBox); } @@ -485,6 +495,7 @@ public class BigDataViewer { final BigDataViewer bdv = open(spimData, windowTitle, progressWriter, options); if (!bdv.tryLoadSettings(xmlFilename)) InitializeViewerState.initBrightness(0.001, 0.999, bdv.viewerFrame); + bdv.fileName = xmlFilename; return bdv; } @@ -699,4 +710,23 @@ public class BigDataViewer { e.printStackTrace(); } } + + private static void sendSummaryRequest(final String url) throws Exception { + final URL getRequest = new URL(url); + final HttpURLConnection urlConnection = (HttpURLConnection) getRequest.openConnection(); + urlConnection.setRequestMethod("GET"); + + final StringBuilder result = new StringBuilder(); + + try (final InputStream responseStream = urlConnection.getInputStream()) { + final BufferedReader reader = new BufferedReader(new InputStreamReader(responseStream)); + + String line; + while ((line = reader.readLine()) != null) { + result.append(line).append('\n'); + } + } + System.out.println("Summary request response:"); + System.out.println(result.toString()); + } } diff --git a/src/main/java/bdv/ui/viewermodepanel/DisplaySettingsPanel.java b/src/main/java/bdv/ui/viewermodepanel/DisplaySettingsPanel.java index e938a923cde97458ec118151566858291cc462c0..13a25c5b91224b02a9fe1d7708815d397b4fd95d 100644 --- a/src/main/java/bdv/ui/viewermodepanel/DisplaySettingsPanel.java +++ b/src/main/java/bdv/ui/viewermodepanel/DisplaySettingsPanel.java @@ -31,12 +31,11 @@ package bdv.ui.viewermodepanel; import bdv.viewer.DisplayMode; import bdv.viewer.Interpolation; import bdv.viewer.ViewerState; -import java.awt.Color; -import javax.swing.ImageIcon; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; import net.miginfocom.swing.MigLayout; +import javax.swing.*; +import java.awt.*; + import static bdv.viewer.Interpolation.NEARESTNEIGHBOR; import static bdv.viewer.Interpolation.NLINEAR; import static bdv.viewer.ViewerStateChange.DISPLAY_MODE_CHANGED;