diff options
Diffstat (limited to 'tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java')
-rw-r--r-- | tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java | 280 |
1 files changed, 140 insertions, 140 deletions
diff --git a/tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java b/tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java index b3b5185505..91403f54d6 100644 --- a/tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java +++ b/tests/testbench/com/vaadin/tests/containers/filesystemcontainer/FileSystemContainerInTreeTable.java @@ -1,141 +1,141 @@ -package com.vaadin.tests.containers.filesystemcontainer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import com.vaadin.data.Container;
-import com.vaadin.data.Container.Ordered;
-import com.vaadin.data.util.FilesystemContainer;
-import com.vaadin.tests.components.TestBase;
-import com.vaadin.tests.util.Log;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.HorizontalLayout;
-import com.vaadin.ui.Table;
-import com.vaadin.ui.Tree.CollapseEvent;
-import com.vaadin.ui.Tree.CollapseListener;
-import com.vaadin.ui.Tree.ExpandEvent;
-import com.vaadin.ui.Tree.ExpandListener;
-import com.vaadin.ui.TreeTable;
-
-public class FileSystemContainerInTreeTable extends TestBase {
-
- private Log log = new Log(5);
- private TreeTable treeTable;
-
- @Override
- protected void setup() {
- setTheme("reindeer-tests");
-
- final File folder;
- try {
- File tempFile = File.createTempFile("fsc-tt", "");
- tempFile.delete();
- folder = new File(tempFile.getParent(), tempFile.getName());
- folder.mkdir();
- System.out.println(folder.getPath());
- folder.deleteOnExit();
-
- populate(folder, 3, 10);
-
- FilesystemContainer fsc = new FilesystemContainer(folder);
-
- treeTable = new TreeTable();
- treeTable.addStyleName("table-equal-rowheight");
- treeTable.setWidth("450px");
- treeTable.setHeight("550px");
- treeTable.setContainerDataSource(fsc);
- treeTable.setItemIconPropertyId(FilesystemContainer.PROPERTY_ICON);
- treeTable.setVisibleColumns(new String[] { "Name" });
- treeTable.setColumnWidth("Name", 400);
- treeTable.addListener(new ExpandListener() {
-
- public void nodeExpand(ExpandEvent event) {
- logExpandCollapse(event.getItemId(), "expanded");
-
- }
- });
- treeTable.addListener(new CollapseListener() {
-
- public void nodeCollapse(CollapseEvent event) {
- logExpandCollapse(event.getItemId(), "collapsed");
-
- }
- });
-
- addComponent(log);
- addComponent(treeTable);
-
- HorizontalLayout buttonLayout = new HorizontalLayout();
- buttonLayout.setSpacing(true);
- buttonLayout.addComponent(new Button("Create dir11",
- new Button.ClickListener() {
- public void buttonClick(ClickEvent event) {
- new File(folder, "dir11").mkdir();
- log.log("Row dir11 created");
- }
- }));
- buttonLayout.addComponent(new Button("Delete dir11",
- new Button.ClickListener() {
- public void buttonClick(ClickEvent event) {
- new File(folder, "dir11").delete();
- log.log("Row dir11 deleted");
- }
- }));
- // to clean up explicitly before ending an automated test
- buttonLayout.addComponent(new Button("Clean all files",
- new Button.ClickListener() {
- public void buttonClick(ClickEvent event) {
- folder.delete();
- }
- }));
- addComponent(buttonLayout);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- private void populate(File folder, int subDirectories, int files)
- throws IOException {
- for (int i = 1; i <= files; i++) {
- File f = new File(folder, "file" + i + ".txt");
- f.createNewFile();
- }
-
- for (int i = 1; i <= subDirectories; i++) {
- File f = new File(folder, "dir" + i);
- f.mkdir();
- populate(f, 0, 2);
- }
- }
-
- protected int indexOfId(Table source, Object itemId) {
- Container.Ordered c = (Ordered) source.getContainerDataSource();
- if (c instanceof Container.Indexed) {
- return ((Container.Indexed) source).indexOfId(itemId);
- } else {
- ArrayList<Object> list = new ArrayList<Object>(source.getItemIds());
- return list.indexOf(itemId);
- }
- }
-
- protected void logExpandCollapse(Object itemId, String operation) {
- File file = (File) itemId;
- // do not use the variable part (path) of file name
- log.log("Row " + file.getName() + " " + operation + ". Row index: "
- + indexOfId(treeTable, itemId));
-
- }
-
- @Override
- protected String getDescription() {
- return "TreeTable partial updates can only be used with a container that notifies the TreeTable of item set changes";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return 7837;
- }
-
+package com.vaadin.tests.containers.filesystemcontainer; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +import com.vaadin.data.Container; +import com.vaadin.data.Container.Ordered; +import com.vaadin.data.util.FilesystemContainer; +import com.vaadin.tests.components.TestBase; +import com.vaadin.tests.util.Log; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Table; +import com.vaadin.ui.Tree.CollapseEvent; +import com.vaadin.ui.Tree.CollapseListener; +import com.vaadin.ui.Tree.ExpandEvent; +import com.vaadin.ui.Tree.ExpandListener; +import com.vaadin.ui.TreeTable; + +public class FileSystemContainerInTreeTable extends TestBase { + + private Log log = new Log(5); + private TreeTable treeTable; + + @Override + protected void setup() { + setTheme("reindeer-tests"); + + final File folder; + try { + File tempFile = File.createTempFile("fsc-tt", ""); + tempFile.delete(); + folder = new File(tempFile.getParent(), tempFile.getName()); + folder.mkdir(); + System.out.println(folder.getPath()); + folder.deleteOnExit(); + + populate(folder, 3, 10); + + FilesystemContainer fsc = new FilesystemContainer(folder); + + treeTable = new TreeTable(); + treeTable.addStyleName("table-equal-rowheight"); + treeTable.setWidth("450px"); + treeTable.setHeight("550px"); + treeTable.setContainerDataSource(fsc); + treeTable.setItemIconPropertyId(FilesystemContainer.PROPERTY_ICON); + treeTable.setVisibleColumns(new String[] { "Name" }); + treeTable.setColumnWidth("Name", 400); + treeTable.addListener(new ExpandListener() { + + public void nodeExpand(ExpandEvent event) { + logExpandCollapse(event.getItemId(), "expanded"); + + } + }); + treeTable.addListener(new CollapseListener() { + + public void nodeCollapse(CollapseEvent event) { + logExpandCollapse(event.getItemId(), "collapsed"); + + } + }); + + addComponent(log); + addComponent(treeTable); + + HorizontalLayout buttonLayout = new HorizontalLayout(); + buttonLayout.setSpacing(true); + buttonLayout.addComponent(new Button("Create dir11", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + new File(folder, "dir11").mkdir(); + log.log("Row dir11 created"); + } + })); + buttonLayout.addComponent(new Button("Delete dir11", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + new File(folder, "dir11").delete(); + log.log("Row dir11 deleted"); + } + })); + // to clean up explicitly before ending an automated test + buttonLayout.addComponent(new Button("Clean all files", + new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + folder.delete(); + } + })); + addComponent(buttonLayout); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private void populate(File folder, int subDirectories, int files) + throws IOException { + for (int i = 1; i <= files; i++) { + File f = new File(folder, "file" + i + ".txt"); + f.createNewFile(); + } + + for (int i = 1; i <= subDirectories; i++) { + File f = new File(folder, "dir" + i); + f.mkdir(); + populate(f, 0, 2); + } + } + + protected int indexOfId(Table source, Object itemId) { + Container.Ordered c = (Ordered) source.getContainerDataSource(); + if (c instanceof Container.Indexed) { + return ((Container.Indexed) source).indexOfId(itemId); + } else { + ArrayList<Object> list = new ArrayList<Object>(source.getItemIds()); + return list.indexOf(itemId); + } + } + + protected void logExpandCollapse(Object itemId, String operation) { + File file = (File) itemId; + // do not use the variable part (path) of file name + log.log("Row " + file.getName() + " " + operation + ". Row index: " + + indexOfId(treeTable, itemId)); + + } + + @Override + protected String getDescription() { + return "TreeTable partial updates can only be used with a container that notifies the TreeTable of item set changes"; + } + + @Override + protected Integer getTicketNumber() { + return 7837; + } + }
\ No newline at end of file |