summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
diff options
context:
space:
mode:
authorJonathan Bauer2015-07-14 17:25:19 +0200
committerJonathan Bauer2015-07-14 17:25:19 +0200
commitf93713f3840c6c22e48ecf9aa1e74aca086511f9 (patch)
treec387603b130403669f3bb62d1363386bf2f85186 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
parent[client] removed old swing stuff from util/* (diff)
downloadtutor-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.java59
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();
+ }
}