2546: Endow Workspace Resources Explorer with filtering and display features

Task-Url: https://support.d4science.org/issues/2546

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@128639 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2016-05-17 14:27:15 +00:00
parent 6d7cfa1c79
commit 8055e5f2d7
11 changed files with 456 additions and 22 deletions

View File

@ -83,7 +83,7 @@ public class WorkspaceExplorerController implements EventHandler {
public WorkspaceExplorerController(FilterCriteria filterCriteria, String heightPanel) {
bindEvents();
//As default all items are showable and selectable
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), null);
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), null, false);
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
}
@ -101,7 +101,7 @@ public class WorkspaceExplorerController implements EventHandler {
public WorkspaceExplorerController(FilterCriteria filterCriteria, List<String> showProperties, String heightPanel) {
bindEvents();
//As default all items are showable and selectable
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), showProperties);
wsExplorer = new WorkspaceExplorer(eventBus, filterCriteria, ItemType.values(), ItemType.values(), showProperties, false);
workspaceExplorerPanel = new WorkspaceExplorerPanel(5, wsExplorer.getPanel(), breadcrumbs, navigation, heightPanel);
}

View File

@ -72,7 +72,7 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
* @throws Exception the exception
*/
public WorkspaceResourcesExplorerPanel(String folderId, String folderName) throws Exception {
initExplorer(folderId, folderName, ItemType.values(), ItemType.values(), null, null);
initExplorer(folderId, folderName, ItemType.values(), ItemType.values(), null, null, false);
}
/**
@ -87,9 +87,9 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
if(showOnlyFolders){
ItemType[] itemsType = new ItemType[1];
itemsType[0] = ItemType.FOLDER;
initExplorer(folderId, "", itemsType, itemsType, null, null);
initExplorer(folderId, "", itemsType, itemsType, null, null, false);
}else{
initExplorer(folderId, "", ItemType.values(), ItemType.values(), null, null);
initExplorer(folderId, "", ItemType.values(), ItemType.values(), null, null, false);
}
}
@ -107,12 +107,34 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
if(showOnlyFolders){
ItemType[] itemsType = new ItemType[1];
itemsType[0] = ItemType.FOLDER;
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter);
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter, false);
}else{
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter);
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter, false);
}
}
/**
* Instantiates a new workspace explorer select panel.
*
* @param folderId the folder id
* @param showOnlyFolders the show only folders
* @param showProperties the show properties - show the input properties as column/s
* @param filter the filter - get only workspace item/s with input key=value like GcubeProperty
* @param showGcubeInfo the show gcube info - if true shows all the properties associated to a file (or a gcube item) by opening a popup window when clicking on the item
* @throws Exception the exception
*/
public WorkspaceResourcesExplorerPanel(String folderId, boolean showOnlyFolders, List<String> showProperties, FilterCriteria filter, boolean showGcubeInfo) throws Exception {
if(showOnlyFolders){
ItemType[] itemsType = new ItemType[1];
itemsType[0] = ItemType.FOLDER;
initExplorer(folderId, "", itemsType, itemsType, showProperties, filter, showGcubeInfo);
}else{
initExplorer(folderId, "", ItemType.values(), ItemType.values(), showProperties, filter, showGcubeInfo);
}
}
/**
* Inits the explorer.
*
@ -122,15 +144,16 @@ public class WorkspaceResourcesExplorerPanel extends DockPanel implements HasWor
* @param showableTypes the showable types
* @param showProperties the show properties
* @param filter the filter
* @param showGcubeInfo the show gcube info - shows all the properties associated to a file (or a gcube item) stored into related gcube item by opening a popup window when clicking on the item
* @throws Exception the exception
*/
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes, List<String> showProperties, FilterCriteria filter) throws Exception{
private void initExplorer(String folderId, String folderName, ItemType[] selectableTypes, ItemType[] showableTypes, List<String> showProperties, FilterCriteria filter, boolean showGcubeInfo) throws Exception{
this.folderId = folderId;
this.folderName = folderName;
this.showProperties = showProperties;
this.filterCriteria = filter;
bindEvents();
wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME, DISPLAY_FIELD.CREATION_DATE});
wsExplorer = new WorkspaceExplorer(eventBus, filter, showableTypes, selectableTypes, showProperties, showGcubeInfo, new DISPLAY_FIELD[]{DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME, DISPLAY_FIELD.CREATION_DATE});
Item item = new Item(folderId, folderName, true);
wsExplorer.loadFolder(item, true);
initPanel("");

View File

@ -2,6 +2,7 @@
package org.gcube.portlets.widgets.wsexplorer.client.rpc;
import java.util.List;
import java.util.Map;
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
@ -185,4 +186,14 @@ public interface WorkspaceExplorerService extends RemoteService {
*/
Item createFolder(String nameFolder, String description, String parentId)
throws Exception;
/**
* Gets the gcube properties for worspace id.
*
* @param id the id
* @return the gcube properties for worspace id
* @throws Exception the exception
*/
Map<String, String> getGcubePropertiesForWorspaceId(String id) throws Exception;
}

View File

@ -5,6 +5,7 @@
package org.gcube.portlets.widgets.wsexplorer.client.rpc;
import java.util.List;
import java.util.Map;
import org.gcube.portlets.widgets.wsexplorer.shared.FilterCriteria;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
@ -186,4 +187,15 @@ public interface WorkspaceExplorerServiceAsync {
void createFolder(
String nameFolder, String description, String parentId,
AsyncCallback<Item> callback);
/**
* Gets the gcube properties for worspace id.
*
* @param id the id
* @param callback the callback
* @return the gcube properties for worspace id
*/
void getGcubePropertiesForWorspaceId(String id, AsyncCallback<Map<String, String>> callback);
}

View File

@ -59,19 +59,26 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
private HandlerManager eventBus;
private Item displayingFolderItem;
private boolean showGcubeItemsInfo;
/**
* Instantiates a new workspace explorer.
* Instantiates a new workspace explorer - This is the base constructor
*
* @param eventBus the event bus
* @param showableTypes the showable types
* @param selectableTypes the selectable types
* @param displayProperties the display properties
* @param showGcubeInfo the show gcube info
* @param fields the fields
*/
private WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes){
private WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, boolean showGcubeInfo, DISPLAY_FIELD[] fields){
this.eventBus = eventBus;
this.showGcubeItemsInfo = showGcubeInfo;
setShowableTypes(showableTypes);
setSelectableTypes(selectableTypes);
explorerPanel = new ScrollPanel();
itTables = new ItemsTable<Item>(eventBus, true, fields, displayProperties, showGcubeItemsInfo);
}
/**
@ -83,8 +90,8 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
* @param fields the fields
*/
public WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, DISPLAY_FIELD...fields) {
this(eventBus, showableTypes, selectableTypes);
itTables = new ItemsTable<Item>(eventBus, true, fields, null);
this(eventBus, showableTypes, selectableTypes, null, false, fields);
// itTables = new ItemsTable<Item>(eventBus, true, fields, null, showGcubeItemsInfo);
}
/**
@ -97,8 +104,7 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
* @param fields the fields
*/
public WorkspaceExplorer(HandlerManager eventBus, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, DISPLAY_FIELD...fields) {
this(eventBus, showableTypes, selectableTypes);
itTables = new ItemsTable<Item>(eventBus, true, fields, displayProperties);
this(eventBus, showableTypes, selectableTypes, displayProperties, false, fields);
}
@ -110,11 +116,13 @@ public class WorkspaceExplorer implements ShowableTypes, SelectableTypes{
* @param showableTypes the showable types
* @param selectableTypes the selectable types
* @param displayProperties the display properties
* @param showGcubeInfo the show gcube info
* @param fields the fields
*/
public WorkspaceExplorer(HandlerManager eventBus, FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, DISPLAY_FIELD...fields) {
this(eventBus, showableTypes, selectableTypes, displayProperties, fields);
public WorkspaceExplorer(HandlerManager eventBus, FilterCriteria filterCriteria, ItemType[] showableTypes, ItemType[] selectableTypes, List<String> displayProperties, boolean showGcubeInfo, DISPLAY_FIELD...fields) {
this(eventBus, showableTypes, selectableTypes, displayProperties, showGcubeInfo, fields);
this.filterCriteria = filterCriteria;
}
/**

View File

@ -0,0 +1,23 @@
/**
*
*/
package org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* May 17, 2016
*/
public class DialogGcubeItem {
/**
*
*/
public DialogGcubeItem(String id) {
// TODO Auto-generated constructor stub
}
}

View File

@ -0,0 +1,198 @@
/**
*
*/
package org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem;
import java.util.Map;
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants;
import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.DockPanel;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
/**
* The Class DialogShowGcubeItem.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* May 17, 2016
*
* Shows a Dialog with gcube items related to WorkspaceItemId.
*/
public class DialogShowGcubeItem extends DialogBox implements ClickHandler {
private DockPanel dock = new DockPanel();
private Button yesButton;
private VerticalPanel vpContainer;
private ImageResource loading = WorkspaceExplorerResources.ICONS.loading();
private HorizontalPanel hpButtons = new HorizontalPanel();
/**
* Instantiates a new dialog show gcube items related to WorkspaceItemId.
*
* @param caption the caption
* @param text the text
* @param item the worksapce item id
*/
public DialogShowGcubeItem(String caption, String text, Item item) {
getElement().setClassName("gwt-DialogBoxNew");
dock.setSpacing(4);
dock.setWidth("100%");
setText(caption);
yesButton = new Button("Ok");
yesButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
hide();
}
});
vpContainer = new VerticalPanel();
vpContainer.getElement().getStyle().setMargin(20.0, Unit.PX);
vpContainer.add(new HTML(text));
hpButtons = new HorizontalPanel();
hpButtons.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
hpButtons.setSpacing(3);
yesButton.getElement().getStyle().setMarginRight(20.0, Unit.PX);
hpButtons.add(yesButton);
dock.add(hpButtons, DockPanel.SOUTH);
dock.setCellHorizontalAlignment(hpButtons, DockPanel.ALIGN_CENTER);
dock.add(vpContainer, DockPanel.CENTER);
setWidget(dock);
if(item.getGcubeProperties()!=null){
FlexTable table = buildGcubeItemView(item.getGcubeProperties());
addToCenterPanel(table);
}else{
addLoader("Re-loading Gcube Properties Info...");
WorkspaceExplorerConstants.workspaceNavigatorService.getGcubePropertiesForWorspaceId(item.getId(), new AsyncCallback<Map<String,String>>() {
@Override
public void onSuccess(Map<String, String> result) {
FlexTable table = buildGcubeItemView(result);
removeLoader();
addToCenterPanel(table);
}
@Override
public void onFailure(Throwable caught) {
removeLoader();
}
});
}
}
/**
* Builds the gcube item view.
*
* @param map the map
* @return the flex table
*/
private FlexTable buildGcubeItemView(Map<String, String> map){
FlexTable table = new FlexTable();
if(map.size()==0){
table.setHTML(0, 0, "No properties");
return table;
}
int i = 0;
for (String key : map.keySet()) {
String value = map.get(key);
table.setHTML(i, 0, key);
table.setHTML(i, 1, value);
}
return table;
}
/*
* (non-Javadoc)
*
* @see
* com.google.gwt.event.dom.client.ClickHandler#onClick(com.google.gwt.event
* .dom.client.ClickEvent)
*/
@Override
public void onClick(ClickEvent event) {
// hide();
}
/**
* Adds the loader.
*
* @param message the message
*/
private void addLoader(String message){
try{
dock.remove(hpButtons);
}catch(Exception e){}
vpContainer.clear();
HorizontalPanel hpMask = new HorizontalPanel();
hpMask.add(new Image(loading));
HTML html = new HTML(message);
html.getElement().getStyle().setMarginLeft(5, Unit.PX);
hpMask.add(html);
vpContainer.add(hpMask);
}
/**
* Removes the loader.
*/
private void removeLoader(){
try{
dock.add(hpButtons);
}catch(Exception e){}
vpContainer.clear();
}
/**
* Adds the to center panel.
*
* @param w the w
*/
public void addToCenterPanel(Widget w) {
vpContainer.add(w);
}
/**
* Gets the dock.
*
* @return the dock
*/
public DockPanel getDock() {
return dock;
}
/**
* Gets the yes button.
*
* @return the yes button
*/
public Button getYesButton() {
return yesButton;
}
}

View File

@ -11,7 +11,9 @@ import java.util.List;
import java.util.Set;
import org.gcube.portlets.widgets.wsexplorer.client.Util;
import org.gcube.portlets.widgets.wsexplorer.client.resources.WorkspaceExplorerResources;
import org.gcube.portlets.widgets.wsexplorer.client.view.SelectionItem;
import org.gcube.portlets.widgets.wsexplorer.client.view.gcubeitem.DialogShowGcubeItem;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import com.github.gwtbootstrap.client.ui.Pagination;
@ -19,6 +21,8 @@ import com.google.gwt.cell.client.ButtonCell;
import com.google.gwt.cell.client.Cell.Context;
import com.google.gwt.cell.client.DateCell;
import com.google.gwt.cell.client.ImageResourceCell;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.i18n.client.DateTimeFormat;
@ -46,6 +50,7 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
private TextColumn<T> name;
private TextColumn<T> owner;
public DateTimeFormat dtformat = DateTimeFormat.getFormat("dd MMM hh:mm aaa yyyy");
public ImageResource info = WorkspaceExplorerResources.ICONS.info();
// private Item selectedItem = null;
/**
@ -58,6 +63,7 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
private List<DISPLAY_FIELD> displayFields;
private Column<T, Date> dateColumn;
private List<String> displayProperties;
private boolean showGcubeItemsInfo;
/**
* Instantiates a new items table.
@ -66,15 +72,25 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
* @param showMoreInfo the show more info
* @param fields the fields
* @param displayProperties the display properties
* @param showGcubeItemsInfo
*/
public ItemsTable(HandlerManager eventBus, boolean showMoreInfo, DISPLAY_FIELD[] fields, List<String> displayProperties) {
public ItemsTable(HandlerManager eventBus, boolean showMoreInfo, DISPLAY_FIELD[] fields, List<String> displayProperties, boolean showGcubeItemsInfo) {
super(eventBus, showMoreInfo);
setDisplayFields(fields);
setDisplayProperties(displayProperties);
setShowGcubeItemsInfo(showGcubeItemsInfo);
initTable(null, null);
}
/**
* @param showGcubeItemsInfo
*/
private void setShowGcubeItemsInfo(boolean showGcubeItemsInfo) {
this.showGcubeItemsInfo = showGcubeItemsInfo;
}
/* (non-Javadoc)
* @see org.gcube.portlets.widgets.wsexplorer.client.view.grid.AbstractItemsCellTable#updateItems(java.util.List, boolean)
*/
@ -83,7 +99,6 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
}
/**
* Adds the items.
*
@ -260,6 +275,51 @@ public class ItemsTable<T extends Item> extends AbstractItemsCellTable<T> implem
}
}
if(showGcubeItemsInfo){
//ICONS
ImageResourceCell showGcubeInfo = new ImageResourceCell() {
public Set<String> getConsumedEvents() {
HashSet<String> events = new HashSet<String>();
events.add("click");
return events;
}
};
Column<T, ImageResource> showGcubeInfoClm = new Column<T, ImageResource>(showGcubeInfo) {
@Override
public ImageResource getValue(T dataObj) {
return info;
}
/* (non-Javadoc)
* @see com.google.gwt.user.cellview.client.Column#render(com.google.gwt.cell.client.Cell.Context, java.lang.Object, com.google.gwt.safehtml.shared.SafeHtmlBuilder)
*/
@Override
public void render(Context context, T object, SafeHtmlBuilder sb) {
super.render(context, object, sb);
}
/* (non-Javadoc)
* @see com.google.gwt.user.cellview.client.Column#onBrowserEvent(com.google.gwt.cell.client.Cell.Context, com.google.gwt.dom.client.Element, java.lang.Object, com.google.gwt.dom.client.NativeEvent)
*/
@Override
public void onBrowserEvent(
Context context, Element elem, T object, NativeEvent event) {
super.onBrowserEvent(context, elem, object, event);
if ("click".equals(event.getType())) {
Item item = object;
DialogShowGcubeItem dg = new DialogShowGcubeItem("Gcube Items for: "+item.getName(), null, item);
dg.show();
}
}
};
showGcubeInfoClm.setSortable(false);
cellTable.addColumn(showGcubeInfoClm, "");
}
/*final SingleSelectionModel<Item> selectionModel = new SingleSelectionModel<Item>();
selectionModel.addSelectionChangeHandler(new Handler() {
@Override

View File

@ -3,5 +3,6 @@
* SPECIFIC CSS FOR WORKSPACE EXPLORER
*
*
* See: /src/main/java/org/gcube/portlets/widgets/wsexplorer/resources/css/bootstrap.min.css
**************************************************/
* See: org.gcube.portlets.widgets.wsexplorer.resources.BootstrapOverrideResources
*
**************************************************/

View File

@ -77,4 +77,75 @@
.margin-right-5px {
margin-right: 5px;
}
}
/**** GWT DIALOG NEW STYLE****/
.gwt-DialogBoxNew{
border: 8px solid #99C0E8;
border-radius: 6px 6px 6px 6px;
box-shadow: none;
line-height: 7px;
opacity: 1;
z-index: 2000;
background-color: #FFFFFF;
}
.gwt-DialogBoxNew .Caption {
background: none repeat scroll 0 0 #99C0E8;
border: medium none #D4D4D4;
cursor: default;
font-family: Arial Unicode MS, Arial, sans-serif !important;
font-size: 18px;
font-weight: 400;
line-height: 27px;
padding: 2px 0px 0px 0px;
}
.gwt-DialogBoxNew .dialogContent {
}
.gwt-DialogBoxNew .dialogMiddleCenter {
padding: 3px;
background: white;
}
.gwt-DialogBoxNew .dialogBottomCenter {
}
.gwt-DialogBoxNew .dialogMiddleLeft {
/* background: url(images/vborder.png) repeat-y -31px 0px; */
}
.gwt-DialogBoxNew .dialogMiddleRight {
/* background: url(images/vborder.png) repeat-y -32px 0px;*/
}
.gwt-DialogBoxNew .dialogTopLeft {
/* background: url(images/circles.png) no-repeat -20px 0px;
-background: url(images/circles_ie6.png) no-repeat -20px 0px; */
background: none repeat scroll 0 0 #E4E4E4;
}
.gwt-DialogBoxNew .dialogTopRight {
/* background: url(images/circles.png) no-repeat -28px 0px;
-background: url(images/circles_ie6.png) no-repeat -28px 0px; */
background: none repeat scroll 0 0 #E4E4E4;
}
.gwt-DialogBoxNew .dialogBottomLeft {
/* background: url(images/circles.png) no-repeat 0px -36px;
-background: url(images/circles_ie6.png) no-repeat 0px -36px; */
}
.gwt-DialogBoxNew .dialogBottomRight {
/* background: url(images/circles.png) no-repeat -8px -36px;
-background: url(images/circles_ie6.png) no-repeat -8px -36px; */
}
/**** END GWT DIALOG NEW STYLE ****/

View File

@ -3,7 +3,9 @@ package org.gcube.portlets.widgets.wsexplorer.server;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpSession;
@ -652,4 +654,29 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
}
}
/* (non-Javadoc)
* @see org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService#getGcubePropertiesForWorspaceId(java.lang.String)
*/
@Override
public Map<String, String> getGcubePropertiesForWorspaceId(String id) throws Exception {
logger.trace("getGcubePropertiesForWorspaceId "+id);
try {
if(id==null || id.isEmpty()){
logger.info(id +" is null or empty returing empty map as GcubeProperties");
return new HashMap<String, String>(1);
}
Workspace workspace = getWorkspace();
WorkspaceItem item = workspace.getItem(id);
return ItemBuilder.getGcubePropertiesForItem(item);
} catch (Exception e) {
logger.error("Error during folder retrieving", e);
throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get folder");
}
}
}