fox for set showable type and set selectable types

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@169550 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2018-06-29 14:34:05 +00:00
parent a8722fb26a
commit 9151a28cff
1 changed files with 60 additions and 2 deletions

View File

@ -4,6 +4,7 @@
package org.gcube.portlets.widgets.wsexplorer.client.select;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.gcube.portlets.widgets.wsexplorer.client.Util;
@ -131,6 +132,10 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
if(showOnlyFolders){
ItemType[] itemsType = new ItemType[1];
itemsType[0] = ItemType.FOLDER;
itemsType[1] = ItemType.PRIVATE_FOLDER;
itemsType[2] = ItemType.SHARED_FOLDER;
itemsType[3] = ItemType.VRE_FOLDER;
setSelectableTypes(itemsType);
setShowableTypes(itemsType);
}
@ -440,9 +445,57 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
* @param selectableTypes the selectableTypes to set
*/
private void setSelectableTypes(ItemType ... selectableTypes) {
controller.setSelectableTypes(selectableTypes);
ArrayList<ItemType> list = new ArrayList<>();
for (int i = 0; i < selectableTypes.length; i++) {
list.add(selectableTypes[i]);
}
GWT.log("setSelectableTypes for type " + list.toString());
controller.setSelectableTypes(getPatchedTypes(selectableTypes));
}
private ItemType[] getPatchedTypes(ItemType[] selectableTypes) {
boolean ANY_FOLDER = false;
boolean ANY_FILE = false;
ArrayList<ItemType> list = new ArrayList<>();
for (int i = 0; i < selectableTypes.length; i++) {
list.add(selectableTypes[i]);
}
for (int i = 0; i < selectableTypes.length; i++) {
if (selectableTypes[i] == ItemType.FOLDER)
ANY_FOLDER = true;
if (selectableTypes[i] == ItemType.EXTERNAL_FILE) {
ANY_FILE = true;
}
}
for (int i = 0; i < selectableTypes.length; i++) {
list.add(selectableTypes[i]);
}
if (ANY_FOLDER) {
list.add(ItemType.PRIVATE_FOLDER);
list.add(ItemType.VRE_FOLDER);
list.add(ItemType.SHARED_FOLDER);
}
if (ANY_FILE) {
ArrayList<ItemType> temp = new ArrayList<>();
ItemType[] allValues = ItemType.values();
for (int i = 0; i < allValues.length; i++) {
temp.add(allValues[i]);
}
temp.remove(ItemType.PRIVATE_FOLDER);
temp.remove(ItemType.VRE_FOLDER);
temp.remove(ItemType.SHARED_FOLDER);
temp.remove(ItemType.FOLDER);
for (ItemType itemType : temp) {
list.add(itemType);
}
}
GWT.log("getPatchedTypes returns " + list.toString());
return list.toArray(new ItemType[list.size()]);
}
/**
* Gets the selectable types.
@ -466,6 +519,11 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
* @param showableTypes the showableTypes to set
*/
private void setShowableTypes(ItemType ... showableTypes) {
controller.setShowableTypes(showableTypes);
ArrayList<ItemType> list = new ArrayList<>();
for (int i = 0; i < showableTypes.length; i++) {
list.add(showableTypes[i]);
}
GWT.log("setShowableTypes for type " + list.toString());
controller.setShowableTypes(getPatchedTypes(showableTypes));
}
}