summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwaer2015-07-21 14:06:15 +0200
committerStephan Schwaer2015-07-21 14:06:15 +0200
commit0f11cba785319a2e62df9a812819c6455899ddaa (patch)
tree04df8b62ff34f5fb39e800e8bc67e9e898edd4f4
parent[server] Make uploads cancellable, configurable transfer timeouts (diff)
downloadtutor-module-0f11cba785319a2e62df9a812819c6455899ddaa.tar.gz
tutor-module-0f11cba785319a2e62df9a812819c6455899ddaa.tar.xz
tutor-module-0f11cba785319a2e62df9a812819c6455899ddaa.zip
[client] Added UserToPermissionLink class, wizard for lecture and first page.
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java8
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/UserToPermissionLink.java40
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java45
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java37
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java48
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java27
8 files changed, 201 insertions, 13 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
index e37e6319..bb6a848b 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/TableHelper.java
@@ -6,8 +6,6 @@ import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableEditor;
import org.eclipse.swt.events.SelectionAdapter;
@@ -20,11 +18,12 @@ import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.LectureSummary;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
import org.openslx.bwlp.thrift.iface.UserInfo;
-import org.openslx.dozmod.gui.wizard.ImageWizard;
import org.openslx.dozmod.thrift.MetaDataCache;
import org.openslx.dozmod.thrift.UserCache;
import org.openslx.dozmod.util.FormatHelper;
+
+
public final class TableHelper {
/**
@@ -153,8 +152,7 @@ public final class TableHelper {
createUnsortedColumn(permissionTableViewer, "Admin", 90,
colprov);
-
- };
+ }
/**
* Create a column with the ability to be sorted
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/UserToPermissionLink.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/UserToPermissionLink.java
new file mode 100644
index 00000000..a2debbfb
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/UserToPermissionLink.java
@@ -0,0 +1,40 @@
+package org.openslx.dozmod.gui.helper;
+
+import org.eclipse.swt.widgets.Button;
+import org.openslx.bwlp.thrift.iface.ImagePermissions;
+
+/**
+ * Helper class for linking UserIds to permissions of an image.
+ */
+public class UserToPermissionLink {
+
+ private String userId;
+ private ImagePermissions permission;
+
+ public Button adminButton;
+ public Button linkButton;
+ public Button downloadButton;
+ public Button editButton;
+
+
+ public UserToPermissionLink(String userId, ImagePermissions permission){
+ this.setUserId(userId);
+ this.setPermission(permission);
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public ImagePermissions getPermission() {
+ return permission;
+ }
+
+ public void setPermission(ImagePermissions permission) {
+ this.permission = permission;
+ }
+}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
index 026057fd..29a65639 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java
@@ -6,6 +6,7 @@ import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.SelectionAdapter;
@@ -18,6 +19,7 @@ import org.openslx.dozmod.gui.helper.LectureListComparator;
import org.openslx.dozmod.gui.helper.LectureListFilter;
import org.openslx.dozmod.gui.helper.TableHelper;
import org.openslx.dozmod.gui.window.layout.LectureListWindowLayout;
+import org.openslx.dozmod.gui.wizard.LectureWizard;
import org.openslx.dozmod.thrift.LectureCache;
import org.openslx.dozmod.thrift.UserCache;
import org.openslx.dozmod.util.FormatHelper;
@@ -86,6 +88,7 @@ public class LectureListWindow extends LectureListWindowLayout {
newButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
+ new WizardDialog(mainShell, new LectureWizard(false)).open();
}
});
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
index adbe352c..a947bc87 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java
@@ -46,9 +46,9 @@ public class ImageWizard extends Wizard {
// create the shared object for all pages of the wizard
imageUploadPage = new ImageUploadPage(uploadWizardState, editExistingImage);
imageMetaDataPage = new ImageMetaDataPage(uploadWizardState);
- imageCustomPermissionPage = new ImageCustomPermissionPage();
-// addPage(imageUploadPage);
-// addPage(imageMetaDataPage);
+ imageCustomPermissionPage = new ImageCustomPermissionPage(uploadWizardState);
+ addPage(imageUploadPage);
+ addPage(imageMetaDataPage);
addPage(imageCustomPermissionPage);
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java
new file mode 100644
index 00000000..f77016f7
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/LectureWizard.java
@@ -0,0 +1,45 @@
+package org.openslx.dozmod.gui.wizard;
+
+import org.apache.log4j.Logger;
+import org.eclipse.jface.wizard.Wizard;
+import org.openslx.dozmod.gui.wizard.layout.LectureCreationPageLayout;
+import org.openslx.dozmod.gui.wizard.page.LectureCreationPage;
+
+public class LectureWizard extends Wizard {
+
+ private final static Logger LOGGER = Logger.getLogger(LectureWizard.class);
+
+ protected LectureCreationPageLayout lectureCreationPage;
+ protected boolean editExistingLecture;
+
+ /**
+ * Wizard for creating or editing a lecture
+ * @param editExistingLecture whether to create new or edit existing lecture
+ */
+ public LectureWizard(boolean editExistingLecture) {
+ super();
+ setNeedsProgressMonitor(true);
+ this.editExistingLecture = editExistingLecture;
+ }
+
+
+ @Override
+ public String getWindowTitle() {
+ return "Neue Veranstaltung erzeugen";
+ }
+
+ @Override
+ public void addPages() {
+ // create the shared object for all pages of the wizard
+ lectureCreationPage = new LectureCreationPage(editExistingLecture);
+
+ addPage(lectureCreationPage);
+ }
+
+
+ @Override
+ public boolean performFinish() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
new file mode 100644
index 00000000..3acb05d1
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/LectureCreationPageLayout.java
@@ -0,0 +1,37 @@
+package org.openslx.dozmod.gui.wizard.layout;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+public abstract class LectureCreationPageLayout extends WizardPage {
+
+ protected Text lectureNameTextField;
+ protected Composite container;
+
+
+ /**
+ * Page for creating lectures
+ *
+ * @param editExistingLecture wether to edit existing lecture or create new
+ * one
+ */
+ public LectureCreationPageLayout() {
+ super("Eingabe Ihrer Daten");
+ setTitle("Eingabe Ihrer Daten");
+ setDescription("Geben Sie bitte einen aussagekräftigen Namen für die neue Veranstaltung ein.");
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ container = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.verticalSpacing = 16;
+ container.setLayout(layout);
+ layout.numColumns = 4;
+
+ setControl(container);
+ }
+}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java
index 3fe8c97f..16aff2da 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageCustomPermissionPage.java
@@ -3,6 +3,7 @@ package org.openslx.dozmod.gui.wizard.page;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ColumnLabelProvider;
@@ -18,7 +19,10 @@ import org.eclipse.swt.widgets.TableItem;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.helper.TableHelper;
+import org.openslx.dozmod.gui.helper.UserToPermissionLink;
import org.openslx.dozmod.gui.wizard.layout.ImageCustomPermissionPageLayout;
+import org.openslx.dozmod.state.UploadWizardState;
+import org.openslx.dozmod.thrift.ImageCache;
import org.openslx.dozmod.thrift.UserCache;
@@ -26,11 +30,15 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout {
private final static Logger LOGGER = Logger.getLogger(ImageCustomPermissionPage.class);
+ private UploadWizardState uploadWizardState;
+
+
/**
* wizard page for setting custom permissions
*/
- public ImageCustomPermissionPage() {
- super(); // needed?
+ public ImageCustomPermissionPage(UploadWizardState uploadWizardState) {
+ super();
+ this.uploadWizardState = uploadWizardState;
}
@SuppressWarnings("serial")
@@ -77,11 +85,9 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout {
put(user.getUserId(), new ImagePermissions(true, true, false, false));
}});
}
-
permissionTableViewer.setInput(userList);
permissionTableViewer.refresh();
-
for (TableColumn tc : permissionTableViewer.getTable().getColumns()) {
tc.pack();
}
@@ -89,7 +95,39 @@ public class ImageCustomPermissionPage extends ImageCustomPermissionPageLayout {
addUser.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- LOGGER.debug("addUser");
+ System.out.println(ImageCache.get(false).get(0).getOwnerId());
+ ArrayList<UserToPermissionLink> permissionList = new ArrayList<UserToPermissionLink>();
+ Map<String, ImagePermissions> imagePermissionsMap = new HashMap<String, ImagePermissions>(){{
+ put("foo", new ImagePermissions(false, false, false, false));
+ }};
+// try {
+// ThriftManager.getSatClient().writeImagePermissions(Session.getSatelliteToken(), ImageCache.get(false).get(0).getImageBaseId(),
+// new HashMap<String, ImagePermissions>(){{
+// put("foo", new ImagePermissions(false, false, false, false));
+// }});
+// } catch (TException e1) {
+// // TODO Auto-generated catch block
+// e1.printStackTrace();
+// }
+// try {
+// imagePermissionsMap = ThriftManager.getSatClient().getImagePermissions(Session.getSatelliteToken(), ImageCache.get(false).get(0).getImageBaseId());
+// } catch (TException e1) {
+// // TODO Auto-generated catch block
+// e1.printStackTrace();
+// }
+
+
+
+ List<String> mapKeys = new ArrayList<String>(imagePermissionsMap.keySet());
+ if (imagePermissionsMap != null){
+ for (String key : mapKeys) {
+ permissionList.add(new UserToPermissionLink(key, imagePermissionsMap.get(key)));
+ }
+ }
+
+
+ permissionTableViewer.setInput(permissionList);
+ permissionTableViewer.refresh();
}
});
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java
new file mode 100644
index 00000000..7b21d089
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureCreationPage.java
@@ -0,0 +1,27 @@
+package org.openslx.dozmod.gui.wizard.page;
+
+import org.eclipse.swt.widgets.Composite;
+import org.openslx.dozmod.gui.wizard.layout.LectureCreationPageLayout;
+
+public class LectureCreationPage extends LectureCreationPageLayout {
+
+ protected boolean editExistingLecture;
+
+
+ /**
+ * Page for creating lectures
+ *
+ * @param editExistingImage wether to edit existing lecture or create new
+ * one
+ */
+ public LectureCreationPage(boolean editExistingLecture) {
+ super();
+ this.editExistingLecture = editExistingLecture;
+
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ super.setControl(parent);
+ }
+}