|
From: <vh...@us...> - 2013-03-28 13:12:55
|
Revision: 16174
http://unicore.svn.sourceforge.net/unicore/?rev=16174&view=rev
Author: vhuber
Date: 2013-03-28 13:12:47 +0000 (Thu, 28 Mar 2013)
Log Message:
-----------
The column with action icons removed from DataView to provide more space for filenames.
Repaired upload of new user's image in Profile
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/views/DataView.java
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/views/MainView.java
unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/UserProfileView.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-28 11:44:42 UTC (rev 16173)
+++ unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/browser/U6DataEndpointViewer.java 2013-03-28 13:12:47 UTC (rev 16174)
@@ -7,6 +7,7 @@
import com.vaadin.data.Property;
import com.vaadin.data.Property.ValueChangeEvent;
+import com.vaadin.shared.ui.MarginInfo;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.ComboBox;
@@ -76,6 +77,7 @@
layout.setSpacing(true);
layout.addComponent(getProtocolChooser());
layout.addComponent(getStorageSourceChooser());
+ layout.setMargin(new MarginInfo(true, false, true, false));
addComponent(layout);
if (endpoint != null) {
@@ -93,8 +95,7 @@
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$
+ layout.addComponent(new Label(GlobalState.getMessage(GridUII18N.ID,"U6DataEndpointViewer.FTP"))); //$NON-NLS-1$
layout.addComponent(protocolComboBox);
return layout;
}
@@ -164,15 +165,13 @@
U6DataEndpoint ep = new U6DataEndpoint(n
.getURI().toString());
if (storageType.getValue() != StorageType.UNICORE_STORAGE) {
- storageType
- .setValue(StorageType.UNICORE_STORAGE);
+ storageType.setValue(StorageType.UNICORE_STORAGE);
upload.setEnabled(false);
}
showDataEndpoint(ep);
} else {
logger.warn(GlobalState.getMessage(
- UII18N.ID,
- "VFSAction.select_resource")); //$NON-NLS-1$
+ UII18N.ID, "VFSAction.select_resource")); //$NON-NLS-1$
}
}
}
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-28 11:44:42 UTC (rev 16173)
+++ unicore-portal/trunk/grid.ui/src/main/java/eu/unicore/portal/grid/ui/views/DataView.java 2013-03-28 13:12:47 UTC (rev 16174)
@@ -25,6 +25,7 @@
import eu.unicore.portal.grid.ui.browser.U6DataEndpointViewer;
import eu.unicore.portal.ui.actions.VFSAction;
import eu.unicore.portal.ui.data.VFSFileButton;
+import eu.unicore.portal.ui.viewers.DataEndpointViewer;
import eu.unicore.portal.ui.views.AbstractView;
/**
@@ -34,138 +35,143 @@
*
*/
public class DataView extends AbstractView {
- private static final long serialVersionUID = 1L;
- private static final Logger logger = Logger.getLogger(DataView.class);
+ private static final long serialVersionUID = 1L;
+ private static final Logger logger = Logger.getLogger(DataView.class);
- private U6DataEndpointViewer viewer1;
- private U6DataEndpointViewer viewer2;
+ private U6DataEndpointViewer viewer1;
+ private U6DataEndpointViewer viewer2;
- private Button sendButton;
- private Button receiveButton;
+ private Button sendButton;
+ private Button receiveButton;
+
+ public static final String[] VISIBLE_COLUMNS = new String[]{
+ DataEndpointViewer.PROP_NAME, DataEndpointViewer.PROP_EXT,
+ DataEndpointViewer.PROP_SIZE, DataEndpointViewer.PROP_MODIFIED
+ };
-
- public DataView() {
-
- viewer1 = new U6DataEndpointViewer();
- viewer1.setMargin(new MarginInfo(true, true, true, false));
- viewer1.setSize(450, 300);
- viewer1.showWorkspace();
-
- viewer2 = new U6DataEndpointViewer();
- viewer2.setMargin(new MarginInfo(true, false, true, true));
- viewer2.setSize(450, 300);
-
- final ComboBox cb1 = viewer1.getProtocolComboBox();
- ComboBox cb2 = viewer2.getProtocolComboBox();
+ public DataView() {
- SelectionListener listener = new SelectionListener();
- viewer1.getTable().addValueChangeListener(listener);
- viewer2.getTable().addValueChangeListener(listener);
- cb1.addValueChangeListener(listener);
- cb2.addValueChangeListener(listener);
+ viewer1 = new U6DataEndpointViewer();
+ viewer1.setVisibleColumns(VISIBLE_COLUMNS);
+ viewer1.setMargin(new MarginInfo(true, true, true, false));
+ viewer1.setSize(450, 300);
+ viewer1.showWorkspace();
- sendButton = new VFSFileButton(VFSAction.ACTION_SEND_FILE,
- new Button.ClickListener() {
- private static final long serialVersionUID = 1L;
+ viewer2 = new U6DataEndpointViewer();
+ viewer2.setVisibleColumns(VISIBLE_COLUMNS);
+ viewer2.setMargin(new MarginInfo(true, false, true, true));
+ viewer2.setSize(450, 300);
- public void buttonClick(ClickEvent event) {
- sendSelectedFiles();
- }
- });
+ final ComboBox cb1 = viewer1.getProtocolComboBox();
+ ComboBox cb2 = viewer2.getProtocolComboBox();
- receiveButton = new VFSFileButton(VFSAction.ACTION_RECEIVE_FILE,
- new Button.ClickListener() {
- private static final long serialVersionUID = 1L;
+ SelectionListener listener = new SelectionListener();
+ viewer1.getTable().addValueChangeListener(listener);
+ viewer2.getTable().addValueChangeListener(listener);
+ cb1.addValueChangeListener(listener);
+ cb2.addValueChangeListener(listener);
- public void buttonClick(ClickEvent event) {
- receiveSelectedFiles();
- }
- });
+ sendButton = new VFSFileButton(VFSAction.ACTION_SEND_FILE,
+ new Button.ClickListener() {
+ private static final long serialVersionUID = 1L;
- sendButton.setStyleName(getPrimaryStyleName());
- receiveButton.setStyleName(getPrimaryStyleName());
- setFileTransferEnabled(false);
+ public void buttonClick(ClickEvent event) {
+ sendSelectedFiles();
+ }
+ });
- VerticalLayout arrows = new VerticalLayout();
- arrows.addComponent(sendButton);
- arrows.addComponent(receiveButton);
+ receiveButton = new VFSFileButton(VFSAction.ACTION_RECEIVE_FILE,
+ new Button.ClickListener() {
+ private static final long serialVersionUID = 1L;
- HorizontalLayout layout = new HorizontalLayout();
- layout.addComponent(viewer1);
- layout.addComponent(arrows);
- layout.setComponentAlignment(arrows, Alignment.MIDDLE_CENTER);
- layout.addComponent(viewer2);
- layout.setHeight(400, Unit.PIXELS);
+ public void buttonClick(ClickEvent event) {
+ receiveSelectedFiles();
+ }
+ });
- addComponent(layout);
- }
+ sendButton.setStyleName(getPrimaryStyleName());
+ receiveButton.setStyleName(getPrimaryStyleName());
+ setFileTransferEnabled(false);
- public void setFileTransferEnabled(boolean enabled) {
- sendButton.setEnabled(enabled);
- receiveButton.setEnabled(enabled);
- }
+ VerticalLayout arrows = new VerticalLayout();
+ arrows.addComponent(sendButton);
+ arrows.addComponent(receiveButton);
- protected void sendSelectedFiles() {
- pullFiles(viewer1, viewer2);
- }
+ HorizontalLayout layout = new HorizontalLayout();
+ layout.addComponent(viewer1);
+ layout.addComponent(arrows);
+ layout.setComponentAlignment(arrows, Alignment.MIDDLE_CENTER);
+ layout.addComponent(viewer2);
+ layout.setHeight(400, Unit.PIXELS);
- protected void receiveSelectedFiles() {
- pullFiles(viewer2, viewer1);
- }
+ addComponent(layout);
+ }
- protected void pullFiles(U6DataEndpointViewer viewer1,
- U6DataEndpointViewer viewer2) {
- Collection<FileObject> files = viewer1.getSelectedFiles();
- if (files != null) {
- DataEndpoint endpoint1 = viewer1.getEndpoint();
- DataEndpoint endpoint2 = viewer2.getEndpoint();
- String protocol = (String) viewer1.getProtocolComboBox().getValue();
- try {
- FileObject workingDir = viewer1.getCurrentDir();
- // VaadinProgressMonitor monitor = new VaadinProgressMonitor();
- for (FileObject o : files) {
- try {
- FileName file = o.getName();
- FileObject target = workingDir.resolveFile(file
- .getBaseName());
- endpoint1.pullDataFrom(endpoint2, protocol, file,
- target.getName(), null);
- } catch (FileSystemException e) {
- logger.error("Sending file " + o.getName() + " failed",
- e);
- }
+ public void setFileTransferEnabled(boolean enabled) {
+ sendButton.setEnabled(enabled);
+ receiveButton.setEnabled(enabled);
+ }
- }
- } catch (IOException e1) {
- logger.error("Failure getting current directory", e1);
- }
+ protected void sendSelectedFiles() {
+ pullFilesFrom(viewer1, viewer2);
+ }
+
+ protected void receiveSelectedFiles() {
+ pullFilesFrom(viewer2, viewer1);
+ }
+
+ protected void pullFilesFrom(U6DataEndpointViewer viewer1,
+ U6DataEndpointViewer viewer2) {
+ Collection<FileObject> files = viewer1.getSelectedFiles();
+ if (files != null) {
+ DataEndpoint endpoint1 = viewer1.getEndpoint();
+ DataEndpoint endpoint2 = viewer2.getEndpoint();
+ String protocol = (String) viewer1.getProtocolComboBox().getValue();
+ try {
+ FileObject workingDir2 = viewer2.getCurrentDir();
+ // VaadinProgressMonitor monitor = new VaadinProgressMonitor();
+ for (FileObject o : files) {
+ try {
+ FileName file = o.getName();
+ FileObject target = workingDir2.resolveFile(file
+ .getBaseName());
+ endpoint1.pullDataFrom(endpoint1, protocol, file,
+ target.getName(), null);
+ } catch (FileSystemException e) {
+ logger.error("Sending file " + o.getName() + " failed",
+ e);
+ }
+
}
+ } catch (IOException e1) {
+ logger.error("Failure getting current directory", e1);
+ }
}
+ }
-
- class SelectionListener implements Property.ValueChangeListener {
- private static final long serialVersionUID = 1L;
+ class SelectionListener implements Property.ValueChangeListener {
+ private static final long serialVersionUID = 1L;
- @Override
- public void valueChange(ValueChangeEvent event) {
- Collection<FileObject> selFiles1 = viewer1.getSelectedFiles();
- Collection<FileObject> selFiles2 = viewer2.getSelectedFiles();
- String p1 = viewer1.getSelectedProtocol();
- String p2 = viewer2.getSelectedProtocol();
- if (p1 == null || p2 == null || !viewer1.isSupportedProtocol(p2)
- || !viewer2.isSupportedProtocol(p2)
- || (selFiles1 == null && selFiles2 == null)) {
- setFileTransferEnabled(false);
- } else {
- if (selFiles1 != null) {
- sendButton.setEnabled(true);
- }
- if (selFiles2 != null) {
- receiveButton.setEnabled(true);
- }
- }
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ Collection<FileObject> selFiles1 = viewer1.getSelectedFiles();
+ Collection<FileObject> selFiles2 = viewer2.getSelectedFiles();
+ String p1 = viewer1.getSelectedProtocol();
+ String p2 = viewer2.getSelectedProtocol();
+ if (p1 == null || p2 == null || !viewer1.isSupportedProtocol(p2)
+ || !viewer2.isSupportedProtocol(p2)
+ || (selFiles1 == null && selFiles2 == null)) {
+ setFileTransferEnabled(false);
+ } else {
+ if (selFiles1 != null) {
+ sendButton.setEnabled(true);
+ }
+ if (selFiles2 != null) {
+ receiveButton.setEnabled(true);
+ }
+ }
- }
}
+ }
}
\ No newline at end of file
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-28 11:44:42 UTC (rev 16173)
+++ unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/viewers/DataEndpointViewer.java 2013-03-28 13:12:47 UTC (rev 16174)
@@ -257,7 +257,9 @@
}
}
}
+ Object[] cols = table.getVisibleColumns();
table.setContainerDataSource(container);
+ table.setVisibleColumns(cols);
workingDir = path;
showWorkingDir(workingDir.getURI().toString());
} catch (Exception e)
@@ -438,6 +440,22 @@
menuBar.setSpacing(true);
menuBar.setMargin(new MarginInfo(false, false, true, false));
+ // Select/unselect all
+ CheckBox selectAll = new CheckBox(GlobalState.getMessage(UII18N.ID, "VFSAction.select_all"));
+ selectAll.addValueChangeListener(new ValueChangeListener() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void valueChange(ValueChangeEvent event) {
+ if((Boolean)event.getProperty().getValue()){
+ table.setValue(table.getItemIds());
+ }
+ else {
+ table.setValue(null);
+ }
+ }
+ });
+
// Home button
Button homeButton = new VFSFileButton(VFSAction.ACTION_HOME, new Button.ClickListener()
{
@@ -512,22 +530,8 @@
}
});
- // Select/unselect all
- CheckBox selectAll = new CheckBox(GlobalState.getMessage(UII18N.ID, "VFSAction.select_all"));
- selectAll.addValueChangeListener(new ValueChangeListener() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueChange(ValueChangeEvent event) {
- if((Boolean)event.getProperty().getValue()){
- table.setValue(table.getItemIds());
- }
- else {
- table.setValue(null);
- }
- }
- });
+
// Refresh button
Button refreshButton = new VFSFileButton(VFSAction.ACTION_REFRESH, new Button.ClickListener()
{
@@ -539,12 +543,12 @@
}
});
+ menuBar.addComponent(selectAll);
menuBar.addComponent(homeButton);
menuBar.addComponent(newFolderButton);
menuBar.addComponent(newFileButton);
menuBar.addComponent(refreshButton);
menuBar.addComponent(deleteButton);
- menuBar.addComponent(selectAll);
addComponent(menuBar);
}
Modified: unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/MainView.java
===================================================================
--- unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/MainView.java 2013-03-28 11:44:42 UTC (rev 16173)
+++ unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/MainView.java 2013-03-28 13:12:47 UTC (rev 16174)
@@ -8,22 +8,28 @@
import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Component;
+import com.vaadin.ui.Embedded;
import com.vaadin.ui.Label;
+import com.vaadin.ui.Panel;
import com.vaadin.ui.Table;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Table.RowHeaderMode;
import eu.unicore.portal.core.GlobalState;
import eu.unicore.portal.core.Session;
+import eu.unicore.portal.core.User;
import eu.unicore.portal.core.events.EventFilter;
import eu.unicore.portal.core.events.EventFilters;
import eu.unicore.portal.core.events.EventHandler;
import eu.unicore.portal.core.threads.BackgroundWorker;
import eu.unicore.portal.core.threads.IProgressMonitor;
import eu.unicore.portal.ui.IconUtil;
+import eu.unicore.portal.ui.PortalApplication;
import eu.unicore.portal.ui.Styles;
import eu.unicore.portal.ui.i18n.UII18N;
import eu.unicore.portal.ui.icons.IconRepository;
+import eu.unicore.portal.ui.icons.UserImageAttribute;
+import eu.unicore.util.configuration.PropertyChangeListener;
@@ -34,7 +40,9 @@
private static final long serialVersionUID = 1L;
- Label label;
+ Label welcomeLabel;
+ private Embedded image;
+ private Panel imagePanel;
VerticalLayout whatsNew;
@@ -44,25 +52,39 @@
public void setVisible(boolean visible)
{
super.setVisible(visible);
- if(label == null)
+ User user = Session.getCurrent().getUser();
+ if(welcomeLabel == null)
{
// The application caption is shown in the caption bar of the
// browser window. We set it here and not in the application
// init() to make switching language easier.
// app.getMainWindow().setCaption(PortalMessages.getMessage(PortalMessages.AppTitle));
+ imagePanel = new Panel();
+
System.out.println("-------- locale: " + Session.getCurrent().getLocale());
- if(getUser() != null) {
- label=new Label(GlobalState.getMessage(UII18N.ID, "MainView.welcome_usr", getUser().getUsername())); //$NON-NLS-1$
+ if(user != null) {
+ welcomeLabel = new Label(GlobalState.getMessage(UII18N.ID, "MainView.welcome_usr", getUser().getUsername())); //$NON-NLS-1$
+ UserImageAttribute userImageAttr = getUser().getAttribute(UserImageAttribute.class);
+ image = (userImageAttr != null) ? userImageAttr.getImage()
+ : UserImageAttribute.getDefaultImage();
}
- else{
- label=new Label(GlobalState.getMessage(UII18N.ID, "MainView.welcome")); //$NON-NLS-1$
+ else {
+ welcomeLabel = new Label(GlobalState.getMessage(UII18N.ID, "MainView.welcome")); //$NON-NLS-1$
+ image = UserImageAttribute.getDefaultImage();
+
}
- label.addStyleName(Styles.CAPTION2);
- label.setSizeUndefined();
+
+ imagePanel.setContent(image);
+ imagePanel.setSizeUndefined();
+ welcomeLabel.addStyleName(Styles.CAPTION2);
+ welcomeLabel.setSizeUndefined();
- addComponent(label);
- setComponentAlignment(label, Alignment.MIDDLE_CENTER);
+ addComponent(welcomeLabel);
+ setComponentAlignment(welcomeLabel, Alignment.MIDDLE_CENTER);
+ addComponent(imagePanel);
+ setComponentAlignment(imagePanel, Alignment.TOP_LEFT);
+
whatsNew = new VerticalLayout();
addComponent(whatsNew);
@@ -125,4 +147,26 @@
return bg;
}
+ public void setImage(Embedded image) {
+ imagePanel.setContent(image);
+ }
+
+
+ class UserPropsListener implements PropertyChangeListener {
+
+ @Override
+ public String[] getInterestingProperties()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void propertyChanged(String propertyKey)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ }
}
Modified: unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/UserProfileView.java
===================================================================
--- unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/UserProfileView.java 2013-03-28 11:44:42 UTC (rev 16173)
+++ unicore-portal/trunk/ui/src/main/java/eu/unicore/portal/ui/views/UserProfileView.java 2013-03-28 13:12:47 UTC (rev 16174)
@@ -7,6 +7,7 @@
import org.apache.commons.vfs2.FileSystemException;
import org.apache.log4j.Logger;
+import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
@@ -31,6 +32,7 @@
import eu.unicore.portal.core.data.DataEndpoint;
import eu.unicore.portal.core.utils.StringUtils;
import eu.unicore.portal.ui.Styles;
+import eu.unicore.portal.ui.actions.VFSAction;
import eu.unicore.portal.ui.etd.ETDUploadComponent;
import eu.unicore.portal.ui.i18n.UII18N;
import eu.unicore.portal.ui.icons.UserImageAttribute;
@@ -60,6 +62,7 @@
public UserProfileView()
{
user = Session.getCurrent().getUser();
+ System.out.println("ProfileView User: "+user);
}
@@ -91,6 +94,8 @@
imagePanel.setContent(image);
HorizontalLayout hl = new HorizontalLayout();
hl.addComponent(imagePanel);
+ // place holder between image and button
+ hl.addComponent(new Label(" ", ContentMode.HTML));
hl.addComponent(upload);
hl.setComponentAlignment(upload, Alignment.BOTTOM_RIGHT);
panel.addComponent(hl);
@@ -171,8 +176,10 @@
protected Upload createUploadImagePopup()
{
upload = new Upload();
- upload.setButtonCaption("");
- upload.setStyleName("my-upload-button");
+ upload.setButtonCaption(VFSAction.ACTION_UPLOAD_FILE.getCaption());
+ // TODO trying to set Icon and text simulteneulsly causes icon to be show over the button
+ //upload.setIcon(VFSAction.ACTION_UPLOAD_FILE.getIcon());
+ //upload.setStyleName("my-upload-button");
upload.setDescription(GlobalState.getMessage(UII18N.ID,
"VFSAction.upload_file"));
upload.setImmediate(true);
@@ -183,16 +190,19 @@
public void uploadFinished(FinishedEvent event)
{
try
- {
+ {
String fn = event.getFilename();
FileObject file = uploadDir.resolveFile(event.getFilename());
+ String path = file.getName().getPath();
if (file.exists())
{
- updateUserImage(fn);
- } else
+ updateUserImage(path);
+ }
+ else
{
- throw new Exception("File does not exist");
+ throw new Exception();
}
+
} catch (Exception e)
{
logger.warn(
@@ -259,5 +269,6 @@
userImageAttr.setIconPath(path);
imagePanel.setContent(userImageAttr.getImage());
user.putAttribute(userImageAttr);
+ saveUser();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|