|
From: <vh...@us...> - 2013-03-27 22:36:13
|
Revision: 16171
http://unicore.svn.sourceforge.net/unicore/?rev=16171&view=rev
Author: vhuber
Date: 2013-03-27 22:36:05 +0000 (Wed, 27 Mar 2013)
Log Message:
-----------
+ Added Upload button in the Browse Data View in order to upload local files to the workspace
+ Modified layout of DataView in order to have more space to show current path
+ Double click on files to display them in the browser window instead of using an editor (the better option to display images or PDF files)
Modified Paths:
--------------
unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/browser/U6DataEndpointViewer.java
unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/commands/BrowseJobWorkingDirCommand.java
unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/views/DataView.java
unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/actions/VFSActionHandler.java
unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/viewers/DataEndpointViewer.java
Modified: unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/browser/U6DataEndpointViewer.java
===================================================================
--- unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/browser/U6DataEndpointViewer.java 2013-03-27 19:50:14 UTC (rev 16170)
+++ unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/browser/U6DataEndpointViewer.java 2013-03-27 22:36:05 UTC (rev 16171)
@@ -9,15 +9,14 @@
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Upload.FinishedEvent;
-import com.vaadin.ui.Upload.FinishedListener;
-import com.vaadin.ui.Upload.Receiver;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
-import com.vaadin.ui.TextField;
import com.vaadin.ui.Upload;
+import com.vaadin.ui.Upload.FinishedEvent;
+import com.vaadin.ui.Upload.FinishedListener;
+import com.vaadin.ui.Upload.Receiver;
import eu.unicore.portal.core.GlobalState;
import eu.unicore.portal.core.Session;
@@ -45,7 +44,7 @@
private ComboBox storageType;
private ComboBox protocolComboBox;
- private TextField storageTextField;
+
private Button chooseStorageButton;
private StorageChooser storageChooser;
private Upload upload;
@@ -73,8 +72,12 @@
public U6DataEndpointViewer(DataEndpoint endpoint) {
super(endpoint);
- addComponent(getProtocolChooser());
-
+ HorizontalLayout layout = new HorizontalLayout();
+ layout.setSpacing(true);
+ layout.addComponent(getProtocolChooser());
+ layout.addComponent(getStorageSourceChooser());
+ addComponent(layout);
+
if (endpoint != null) {
showDataEndpoint(endpoint);
}
@@ -83,13 +86,12 @@
protected void createMenuBar() {
super.createMenuBar();
getMenuBar().addComponent(createUploadPopup());
- Component storageSourceChooser = getStorageSourceChooser();
- addComponent(storageSourceChooser);
}
- private Component getProtocolChooser() {
+ protected Component getProtocolChooser() {
protocolComboBox = new ComboBox();
protocolComboBox.setImmediate(true);
+ protocolComboBox.setWidth(100f, Unit.PIXELS);
HorizontalLayout layout = new HorizontalLayout();
layout.addComponent(new Label(GlobalState.getMessage(GridUII18N.ID,
"U6DataEndpointViewer.FTP"))); //$NON-NLS-1$
@@ -98,10 +100,7 @@
}
private Component getStorageSourceChooser() {
- storageTextField = new TextField();
- storageTextField.setImmediate(true);
- storageTextField.setWidth(200, Unit.PIXELS);
-
+
storageType = new ComboBox();
storageType.addItem(StorageType.WORKSPACE);
storageType.addItem(StorageType.UNICORE_STORAGE);
@@ -135,7 +134,6 @@
chooseStorageButton.setImmediate(true);
HorizontalLayout layout = new HorizontalLayout();
- layout.addComponent(storageTextField);
layout.addComponent(storageType);
layout.addComponent(chooseStorageButton);
return layout;
@@ -200,8 +198,6 @@
protected void updateUI() {
try {
setEndpoint(endpoint);
- String uri = endpoint.getVFSRoot().getURL().toString();
- storageTextField.setValue(uri);
updateProtocols();
if (storageChooser != null && storageChooser.isVisible()) {
storageChooser.setVisible(false);
Modified: unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/commands/BrowseJobWorkingDirCommand.java
===================================================================
--- unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/commands/BrowseJobWorkingDirCommand.java 2013-03-27 19:50:14 UTC (rev 16170)
+++ unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/commands/BrowseJobWorkingDirCommand.java 2013-03-27 22:36:05 UTC (rev 16171)
@@ -42,7 +42,7 @@
Window w = new Window();
app.addWindow(w);
DataEndpointViewer v = new DataEndpointViewer(es.getEndpoint());
- w.setContent(v.getComponent());
+ w.setContent(v);
} catch (Exception e)
{
logger.warn("Unable to browse working directory: "+e.getLocalizedMessage(), e);
Modified: unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/views/DataView.java
===================================================================
--- unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/views/DataView.java 2013-03-27 19:50:14 UTC (rev 16170)
+++ unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/views/DataView.java 2013-03-27 22:36:05 UTC (rev 16171)
@@ -48,12 +48,12 @@
viewer1 = new U6DataEndpointViewer();
viewer1.setMargin(new MarginInfo(true, true, true, false));
- viewer1.getComponent().setWidth(450f, Unit.PIXELS);
+ viewer1.setSize(450, 300);
viewer1.showWorkspace();
viewer2 = new U6DataEndpointViewer();
viewer2.setMargin(new MarginInfo(true, false, true, true));
- viewer2.getComponent().setWidth(450f, Unit.PIXELS);
+ viewer2.setSize(450, 300);
final ComboBox cb1 = viewer1.getProtocolComboBox();
ComboBox cb2 = viewer2.getProtocolComboBox();
Modified: unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/actions/VFSActionHandler.java
===================================================================
--- unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/actions/VFSActionHandler.java 2013-03-27 19:50:14 UTC (rev 16170)
+++ unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/actions/VFSActionHandler.java 2013-03-27 22:36:05 UTC (rev 16171)
@@ -55,9 +55,18 @@
{
return getFolderActions();
}
+ else
+ {
+ return new Action[]{
+ VFSAction.ACTION_NEW_FOLDER,
+ VFSAction.ACTION_NEW_FILE,
+ VFSAction.ACTION_REFRESH
+ };
+ }
} catch (FileSystemException e) {
e.printStackTrace();
}
+
}
return null;
}
Modified: unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/viewers/DataEndpointViewer.java
===================================================================
--- unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/viewers/DataEndpointViewer.java 2013-03-27 19:50:14 UTC (rev 16170)
+++ unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/viewers/DataEndpointViewer.java 2013-03-27 22:36:05 UTC (rev 16171)
@@ -24,6 +24,8 @@
import com.vaadin.data.util.HierarchicalContainer;
import com.vaadin.event.ItemClickEvent;
import com.vaadin.event.ItemClickEvent.ItemClickListener;
+import com.vaadin.event.ShortcutAction.KeyCode;
+import com.vaadin.event.ShortcutListener;
import com.vaadin.server.Page;
import com.vaadin.shared.ui.BorderStyle;
import com.vaadin.shared.ui.MarginInfo;
@@ -38,6 +40,7 @@
import com.vaadin.ui.Panel;
import com.vaadin.ui.Table;
import com.vaadin.ui.Table.RowHeaderMode;
+import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
import eu.unicore.portal.core.GlobalState;
@@ -87,10 +90,10 @@
private FileName workingDir = null;
private VFSActionHandler actionHandler;
private HorizontalLayout menuBar;
-
+ private TextField workingDirTextField;
- public DataEndpointViewer(final DataEndpoint endpoint)
+ public DataEndpointViewer(DataEndpoint endpoint)
{
container = createDataContainer();
table = new Table("", container);
@@ -103,7 +106,6 @@
table.setColumnWidth(PROP_MODIFIED, 115);
// table.setColumnWidth(PROP_ACTIONS, 100);
table.setPageLength(10);
-
table.setVisibleColumns(cols);
table.setSelectable(true);
table.setMultiSelect(true);
@@ -117,6 +119,36 @@
setMargin(true);
createMenuBar();
+ workingDirTextField = new TextField();
+ workingDirTextField.setImmediate(true);
+ workingDirTextField.setWidth(550f, Unit.PIXELS);
+ addComponent(workingDirTextField);
+
+ // TODO implement deserializeFrom() in the U6DataEndpoint
+ // TODO check why it works only for parent workspace directories (GenericEndpoint)
+ workingDirTextField.addShortcutListener(
+ new ShortcutListener("Shortcut Name", KeyCode.ENTER, null) {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void handleAction(Object sender, Object target) {
+ String uri = workingDirTextField.getValue();
+ DataEndpoint ep = getEndpoint();
+ if (ep != null && uri != null && uri.trim().length() > 0)
+ {
+ try
+ {
+ ep.deserializeFrom(uri.trim());
+ setEndpoint(ep);
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+
panel = new Panel();
panel.setContent(table);
panel.setWidth(550f, Unit.PIXELS);
@@ -217,6 +249,7 @@
}
table.setContainerDataSource(container);
workingDir = path;
+ showWorkingDir(workingDir.getURI().toString());
} catch (Exception e)
{
logger.error(GlobalState.getMessage(UII18N.ID, "VFSAction.list_dir_error", e.getLocalizedMessage()), e); //$NON-NLS-1$
@@ -584,4 +617,18 @@
{
this.menuBar = menuBar;
}
+
+ public void showWorkingDir(String path) {
+ workingDirTextField.setValue(path);
+ }
+
+ public TextField getWorkingDirTextField() {
+ return workingDirTextField;
+ }
+
+ public void setSize(int width, int height) {
+ workingDirTextField.setWidth(width, Unit.PIXELS);
+ getComponent().setWidth(width, Unit.PIXELS);
+ getComponent().setHeight(height, Unit.PIXELS);
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|