diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index a1b4e42..31d7fe4 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -5,7 +5,10 @@
-
+
+ uses
+
+
uses
diff --git a/pom.xml b/pom.xml
index b0c23f5..e3e16d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.portlets.user
workspace
war
- 6.10.0-SNAPSHOT
+ 6.10.1-SNAPSHOT
gCube Workspace Portlet
gcube Workspace Portlet is a portlet for users workspace management
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
index ca79e17..5f7d3c9 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java
@@ -133,28 +133,30 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
+
/**
- *
- * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
+ * The Class AppController.
*
+ * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
+ * Dec 14, 2015
*/
public class AppController implements SubscriberInterface {
private final static HandlerManager eventBus = new HandlerManager(null);
private WorskpacePortlet wsPortlet = null;
private AppControllerExplorer appContrExplorer = null;
private String rootIdentifier = null;
- // public static boolean isSearchActive = false;
private HasWidgets rootPanel;
private String selectedSmartFolderId;
private String selectedSmartFolderCategory;
-// private Alert alertFeatures = new Alert();
private WorkspaceFeaturesView workspaceFeatures = new WorkspaceFeaturesView();
private WorkspaceQuotesView wsQuotesView = new WorkspaceQuotesView();
-
public static final Logger logger = Logger.getLogger("WsAppController");
-
-
+ /**
+ * Instantiates a new app controller.
+ *
+ * @param appControllerExplorer the app controller explorer
+ */
public AppController(AppControllerExplorer appControllerExplorer) {
this.appContrExplorer = appControllerExplorer;
this.appContrExplorer.subscribe(this, new EventsTypeEnum[] {
@@ -188,10 +190,18 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Gets the event bus.
+ *
+ * @return the event bus
+ */
public static HandlerManager getEventBus() {
return eventBus;
}
+ /**
+ * Bind.
+ */
private void bind() {
//double click on URLs
eventBus.addHandler(OpenUrlEvent.TYPE, new OpenUrlEventHandler() {
@@ -701,13 +711,11 @@ public class AppController implements SubscriberInterface {
if(wsPortlet.getGxtCardLayoutResultPanel().getActivePanel() instanceof GxtItemsPanel){ //If active panel is panel with file items
AppController.getEventBus().fireEvent(new SearchTextEvent(null, null));
}
-
doPathElementSelected(event);
}
private void doPathElementSelected(PathElementSelectedEvent event) {
// appContrExplorer.selectItemInTree(event.getSourceFile().getIdentifier());
-
appContrExplorer.expandFolder(event.getSourceFile().getIdentifier());
}
@@ -1030,6 +1038,12 @@ public class AppController implements SubscriberInterface {
wsPortlet.getToolBarItemDetails().setRead(read);
}*/
+ /**
+ * Do element grid selected.
+ *
+ * @param isSelected the is selected
+ * @param target the target
+ */
private void doElementGridSelected(boolean isSelected, FileModel target) {
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonsOnSelectForOperation(target, isSelected);
@@ -1052,6 +1066,9 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Disable buttons on breadcrumb special folder.
+ */
private void disableButtonsOnBreadcrumbSpecialFolder(){
GxtBreadcrumbPathPanel breadCrumb = this.wsPortlet.getToolBarPath();
FileModel parent = breadCrumb.getLastParent();
@@ -1059,10 +1076,18 @@ public class AppController implements SubscriberInterface {
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().disableButtonSpecialFolderSelected();
}
+ /**
+ * Gets the grid selected item.
+ *
+ * @return the grid selected item
+ */
private FileGridModel getGridSelectedItem(){
return wsPortlet.getGridGroupContainer().getSelectedItem();
}
+ /**
+ * Reset smart folder selected.
+ */
private void resetSmartFolderSelected(){
selectedSmartFolderId = null;
selectedSmartFolderCategory = null;
@@ -1070,8 +1095,9 @@ public class AppController implements SubscriberInterface {
/**
- *
- * @param item
+ * Load breadcrumb by file model.
+ *
+ * @param item the item
* @param isLastParent - if is true, load the item passed in input as last item of the list resulted
*/
private void loadBreadcrumbByFileModel(final FileModel item, final boolean isLastParent){
@@ -1099,8 +1125,10 @@ public class AppController implements SubscriberInterface {
}
/**
- *
- * @param childItemId
+ * Load parent breadcrumb by item id.
+ *
+ * @param childItemId the child item id
+ * @param includeItemAsParent the include item as parent
*/
protected void loadParentBreadcrumbByItemId(final String childItemId, boolean includeItemAsParent){
@@ -1123,6 +1151,11 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Update breadcrumb.
+ *
+ * @param parents the parents
+ */
private void updateBreadcrumb(List parents){
GWT.log("Updating Breadcrumb : "+parents);
//this.wsPortlet.getBasicTabContainer().setLabelPath(path); //Set path in breadcrumb
@@ -1155,6 +1188,11 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Sets the ACL info.
+ *
+ * @param parentId the new ACL info
+ */
private void setACLInfo(final String parentId){
if(parentId==null){
@@ -1188,8 +1226,9 @@ public class AppController implements SubscriberInterface {
}
/**
- * init method
- * @param rootPanel
+ * init method.
+ *
+ * @param rootPanel the root panel
*/
public void go(final HasWidgets rootPanel) {
@@ -1300,6 +1339,16 @@ public class AppController implements SubscriberInterface {
CheckSession.getInstance().startPolling();
}
+ /**
+ * Inits the portlet.
+ *
+ * @param rootPanel the root panel
+ * @param instanceWithGrouping the instance with grouping
+ * @param isSearchForItemId the is search for item id
+ * @param searchParameter the search parameter
+ * @param itemIdParameter the item id parameter
+ * @param operationParameter the operation parameter
+ */
private void initPortlet(final HasWidgets rootPanel, final boolean instanceWithGrouping, boolean isSearchForItemId, final String searchParameter, final String itemIdParameter, final String operationParameter){
boolean displayFeatures = readCookieWorkspaceAvailableFeatures();
@@ -1358,6 +1407,12 @@ public class AppController implements SubscriberInterface {
rootPanel.add(wsQuotesView);
}
+ /**
+ * Sets the workspace user quotes.
+ *
+ * @param size the size
+ * @param totalItems the total items
+ */
private void setWorkspaceUserQuotes(String size, long totalItems){
String msg;
@@ -1375,7 +1430,8 @@ public class AppController implements SubscriberInterface {
/**
- *
+ * Read cookie workspace grid view setting.
+ *
* @return true if exists a cookie with msg as true value (or not exists the cookie), false otherwise
*/
private boolean readCookieWorkspaceGridViewSetting() {
@@ -1397,7 +1453,8 @@ public class AppController implements SubscriberInterface {
/**
- *
+ * Read cookie workspace available features.
+ *
* @return true if exists a cookie with msg as true value (or not exists the cookie), false otherwise
*/
private boolean readCookieWorkspaceAvailableFeatures() {
@@ -1416,6 +1473,13 @@ public class AppController implements SubscriberInterface {
return false;
}
+ /**
+ * Sets the cookie.
+ *
+ * @param name the name
+ * @param value the value
+ * @param days the days
+ */
public static void setCookie(String name, String value, int days) {
if (value == null) {
@@ -1430,11 +1494,21 @@ public class AppController implements SubscriberInterface {
Cookies.setCookie(name, value, expiringDate);
}
+ /**
+ * Sets the cookie grid view setting.
+ *
+ * @param value the new cookie grid view setting
+ */
protected static void setCookieGridViewSetting(String value) {
setCookie(ConstantsPortlet.GCUBE_COOKIE_WORKSPACE_GRID_VIEW_SETTING, value, ConstantsPortlet.COOKIE_EXPIRE_DAYS);
}
+ /**
+ * Gets the main panel.
+ *
+ * @return the main panel
+ */
public GxtBorderLayoutPanel getMainPanel(){
return wsPortlet.getBorderLayoutContainer();
}
@@ -1443,10 +1517,21 @@ public class AppController implements SubscriberInterface {
// return wsPortlet.getExplorerPanel();
// }
+ /**
+ * Sets the size async tree panel.
+ *
+ * @param width the width
+ * @param height the height
+ */
public void setSizeAsyncTreePanel(int width, int height) {
wsPortlet.getExplorerPanel().getAsycTreePanel().setSizeTreePanel(width-17, height-55);
}
+ /**
+ * Update store by rpc.
+ *
+ * @param folder the folder
+ */
private void updateStoreByRpc(final FileModel folder){
resetSmartFolderSelected();
@@ -1483,6 +1568,11 @@ public class AppController implements SubscriberInterface {
});
}
+ /**
+ * Gets the selected folder.
+ *
+ * @return the selected folder
+ */
public FileModel getSelectedFolder(){
return this.appContrExplorer.getSelectedFolderInTree();
}
@@ -1566,6 +1656,9 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#selectedItem(org.gcube.portlets.user.workspace.client.model.FileModel, java.util.List)
+ */
@Override
public void selectedItem(FileModel item, List parents) {
GWT.log("selectedItem.. ");
@@ -1606,8 +1699,9 @@ public class AppController implements SubscriberInterface {
}
/**
- *
- * @param item
+ * Updat grid view for selected item.
+ *
+ * @param item the item
*/
private void updatGridViewForSelectedItem(FileModel item){
@@ -1620,11 +1714,17 @@ public class AppController implements SubscriberInterface {
updateStoreByRpc(item.getParentFileModel());
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#expandFolderItem(org.gcube.portlets.user.workspace.client.model.FolderModel)
+ */
@Override
public void expandFolderItem(FolderModel folder) {
updateStoreByRpc(folder);
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#renameItem(java.lang.String, java.lang.String, java.lang.String)
+ */
@Override
public boolean renameItem(String itemIdentifier, String newName, String extension) {
@@ -1635,6 +1735,9 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#deleteItems(java.util.List)
+ */
@Override
public boolean deleteItems(List ids) {
@@ -1650,17 +1753,26 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#rootLoaded(org.gcube.portlets.user.workspace.client.model.FileModel)
+ */
@Override
public void rootLoaded(FileModel root) {
this.rootIdentifier = root.getIdentifier();
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#setParentItemSelected(java.util.ArrayList)
+ */
@Override
public void setParentItemSelected(ArrayList listParents){
GWT.log("setParentItemSelected.. ");
- updateBreadcrumb(listParents);
+// updateBreadcrumb(listParents);
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#smartFolderSelected(java.lang.String, java.lang.String)
+ */
@Override
public void smartFolderSelected(final String folderId, final String category) {
@@ -1717,6 +1829,9 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#movedItems(java.lang.String, org.gcube.portlets.user.workspace.client.model.FileModel)
+ */
@Override
public void movedItems(String sourceParentIdentifier, FileModel targetParent) {
updateStoreByRpc(targetParent);
@@ -1724,6 +1839,9 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#switchView(org.gcube.portlets.user.workspace.client.ConstantsExplorer.ViewSwitchType)
+ */
@Override
public void switchView(ViewSwitchType type){
@@ -1744,6 +1862,9 @@ public class AppController implements SubscriberInterface {
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#refreshFolder(org.gcube.portlets.user.workspace.client.model.FileModel, boolean, boolean)
+ */
@Override
public void refreshFolder(FileModel folderTarget, boolean forceRefreshContent, boolean forceRefreshBreadcrumb){
@@ -1790,6 +1911,9 @@ public class AppController implements SubscriberInterface {
GWT.log("folderTarget is null, refresh skypped");
}
+ /* (non-Javadoc)
+ * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#createNewMessage(java.util.HashMap)
+ */
@Override
public void createNewMessage(final HashMap hashAttachs) {
GWT.runAsync(MailForm.class, new RunAsyncCallback() {
@@ -1861,6 +1985,11 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Show problems.
+ *
+ * @return the layout container
+ */
private LayoutContainer showProblems() {
LayoutContainer errorPanel = new LayoutContainer();
errorPanel.setLayout(new FitLayout());
@@ -1925,9 +2054,10 @@ public class AppController implements SubscriberInterface {
}
/**
- *
- * @param operation
- * @param trashItemId
+ * Execute trash operation.
+ *
+ * @param operation the operation
+ * @param trashItemIds the trash item ids
*/
private void executeTrashOperation(final WorkspaceTrashOperation operation, List trashItemIds){
@@ -2038,10 +2168,20 @@ public class AppController implements SubscriberInterface {
}
+ /**
+ * Sets the visible user quote.
+ *
+ * @param bool the new visible user quote
+ */
private void setVisibleUserQuote(boolean bool){
wsQuotesView.setQuoteVisible(bool);
}
+ /**
+ * Sets the visible ws available features.
+ *
+ * @param bool the new visible ws available features
+ */
private void setVisibleWsAvailableFeatures(boolean bool){
workspaceFeatures.setVisible(bool);
}
diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/Breadcrumbs.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/Breadcrumbs.java
index 45dd04a..90761d6 100644
--- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/Breadcrumbs.java
+++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/Breadcrumbs.java
@@ -20,17 +20,15 @@ import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
+
/**
- *
+ * The Class Breadcrumbs.
+ *
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
- * @Jul 28, 2014
- *
+ * Dec 14, 2015
*/
public class Breadcrumbs extends Composite {
-
- /**
- *
- */
+
public static final String DIVIDER = ">";
private String rootName;
private LinkedHashMap hashFileModel = new LinkedHashMap();// Ordered-HashMap
@@ -40,9 +38,20 @@ public class Breadcrumbs extends Composite {
@UiField
com.github.gwtbootstrap.client.ui.Breadcrumbs breadcrumbs;
+ /**
+ * The Interface BreadcrumbsUiBinder.
+ *
+ * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
+ * Dec 14, 2015
+ */
interface BreadcrumbsUiBinder extends UiBinder {
}
+ /**
+ * Instantiates a new breadcrumbs.
+ *
+ * @param rootName the root name
+ */
public Breadcrumbs(String rootName) {
this.rootName = rootName;
initWidget(uiBinder.createAndBindUi(this));
@@ -54,6 +63,11 @@ public class Breadcrumbs extends Composite {
ul.addClassName("Breadcrumbs-Personal");
}
+ /**
+ * Sets the path.
+ *
+ * @param parents the new path
+ */
public void setPath(List parents) {
resetBreadcrumbs();
@@ -73,11 +87,19 @@ public class Breadcrumbs extends Composite {
+ /**
+ * Reset breadcrumbs.
+ */
private void resetBreadcrumbs() {
breadcrumbs.clear();
}
// @UiHandler("add")
+ /**
+ * Adds the navigation link.
+ *
+ * @param parent the parent
+ */
public void addNavigationLink(FileModel parent) {
if (! parent.isRoot()) {
final NavLink navLink = new NavLink(parent.getName());
@@ -90,9 +112,7 @@ public class Breadcrumbs extends Composite {
public void onClick(ClickEvent event) {
FileModel target = hashFileModel.get(navLink.getName());
- AppController.getEventBus().fireEvent(
- new PathElementSelectedEvent(target));
-
+ AppController.getEventBus().fireEvent(new PathElementSelectedEvent(target));
}
});
} else {
@@ -101,6 +121,11 @@ public class Breadcrumbs extends Composite {
}
}
+ /**
+ * Breadcrumb is empty.
+ *
+ * @return true, if successful
+ */
public boolean breadcrumbIsEmpty() {
if (hashFileModel.size() == 0)
@@ -109,6 +134,11 @@ public class Breadcrumbs extends Composite {
return false;
}
+ /**
+ * Gets the last parent.
+ *
+ * @return the last parent
+ */
public FileModel getLastParent() {
return lastParent;
}