diff options
author | Jonathan Bauer | 2015-07-14 17:25:19 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-07-14 17:25:19 +0200 |
commit | f93713f3840c6c22e48ecf9aa1e74aca086511f9 (patch) | |
tree | c387603b130403669f3bb62d1363386bf2f85186 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java | |
parent | [client] removed old swing stuff from util/* (diff) | |
download | tutor-module-f93713f3840c6c22e48ecf9aa1e74aca086511f9.tar.gz tutor-module-f93713f3840c6c22e48ecf9aa1e74aca086511f9.tar.xz tutor-module-f93713f3840c6c22e48ecf9aa1e74aca086511f9.zip |
[client] more steps towards uploading an image: push image metadata to server
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java index db1855d5..456e6762 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java @@ -3,7 +3,9 @@ package org.openslx.dozmod.gui.window; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.UUID; +import org.apache.log4j.Logger; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.SelectionChangedEvent; @@ -12,18 +14,29 @@ import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Shell; import org.openslx.bwlp.thrift.iface.ImagePermissions; import org.openslx.bwlp.thrift.iface.ImageSummaryRead; +import org.openslx.dozmod.gui.helper.Gui; import org.openslx.dozmod.gui.helper.ImageListComparator; import org.openslx.dozmod.gui.helper.ImageListFilter; +import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.gui.helper.TableHelper; import org.openslx.dozmod.gui.window.layout.ImageListWindowLayout; import org.openslx.dozmod.gui.wizard.ImageWizard; import org.openslx.dozmod.thrift.ImageCache; +import org.openslx.dozmod.thrift.Session; +import org.openslx.thrifthelper.ThriftManager; +import org.openslx.util.QuickTimer; +import org.openslx.util.QuickTimer.Task; public class ImageListWindow extends ImageListWindowLayout { + private final static Logger LOGGER = Logger.getLogger(ImageListWindow.class); + + public final ImageListWindow me = this; + public ImageListWindow(final Shell mainShell) { super(mainShell); @@ -134,6 +147,39 @@ public class ImageListWindow extends ImageListWindowLayout { wd.open(); } }); + //deleteImageVersion + deleteButton.setData(getCurrentImageSummaryRead()); + deleteButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(final SelectionEvent e) { + // TODO FIX THIS PIECE OF SHIT + QuickTimer.scheduleOnce(new Task() { + UUID uuid = null; + boolean success = false; + @Override + public void fire() { + success = false; + Button b = (Button) e.getSource(); + ImageSummaryRead isr = (ImageSummaryRead) b.getData(); + uuid = UUID.fromString(isr.getCurrentVersionId()); + try { + ThriftManager.getSatClient().deleteImageVersion( + Session.getSatelliteToken(), isr.getCurrentVersionId()); + } catch (Exception e) { + LOGGER.error("Error while creating image: ", e); + deleteCallback(uuid, false, e); + return; + } + Gui.display.asyncExec(new Runnable() { + @Override + public void run() { + deleteCallback(uuid, success, null); + } + }); + } + }); + } + }); } private boolean refreshList() { @@ -154,4 +200,17 @@ public class ImageListWindow extends ImageListWindowLayout { refreshList(); } + public void deleteCallback(UUID uuid, boolean success, Throwable t) { + if (success) { + LOGGER.info("Deleted image with UUID '" + uuid + "' successfully."); + Gui.showMessageBox(getShell(), "Deleted image with UUID '" + uuid + "'.", MessageType.INFO, LOGGER, t); + } else { + LOGGER.error("Could not deleted image with UUID '" + uuid + "'!"); + Gui.showMessageBox(getShell(), "Failed to delete image!", MessageType.ERROR, LOGGER, t); + } + } + public ImageSummaryRead getCurrentImageSummaryRead() { + IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection(); + return (ImageSummaryRead) selection.getFirstElement(); + } } |