Added a patch to avoid a slow getPath()
Added several patch on getPath(), see //TODO PATCH git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@122811 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
567cce8630
commit
25245738a2
33
pom.xml
33
pom.xml
|
@ -51,14 +51,19 @@
|
|||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>xerces</groupId> -->
|
||||
<!-- <artifactId>xerces</artifactId> -->
|
||||
<!-- <version>2.4.0</version> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- <scope>compile</scope> -->
|
||||
<!-- </dependency> -->
|
||||
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>com.thoughtworks.xstream</groupId> -->
|
||||
<!-- <artifactId>xstream</artifactId> -->
|
||||
<!-- <version>1.4.7</version> -->
|
||||
<!-- </dependency> -->
|
||||
|
||||
<!-- Google Web Toolkit (GWT) -->
|
||||
|
@ -95,18 +100,18 @@
|
|||
</dependency>
|
||||
|
||||
<!-- HOME LIBRARY -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-model</artifactId> -->
|
||||
<!-- <version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-jcr</artifactId> -->
|
||||
<!-- <version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- </dependency> -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-model</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-jcr</artifactId>
|
||||
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library</artifactId>
|
||||
|
|
|
@ -138,13 +138,14 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
public void onFailure(Throwable caught) {
|
||||
GWT.log(caught.getMessage());
|
||||
breadcrumbs.clear();
|
||||
|
||||
navigation.setVisibleNewFolderFacility(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Item result) {
|
||||
result.setName(WorkspaceExplorerConstants.HOME_LABEL); //FORCE SET NAME LIKE "HOME_LABEL"
|
||||
breadcrumbs.init(result);
|
||||
navigation.setVisibleNewFolderFacility(true);
|
||||
clearMoreInfo();
|
||||
}
|
||||
});
|
||||
|
@ -155,7 +156,7 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
|
||||
@Override
|
||||
public void onBreadcrumbInit(BreadcrumbInitEvent breadcrumbInitEvent) {
|
||||
navigation.activeButtons(true);
|
||||
navigation.setVisibleNewFolderFacility(true);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -183,11 +184,13 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
GWT.log(caught.getMessage());
|
||||
navigation.setVisibleNewFolderFacility(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Item result) {
|
||||
breadcrumbs.init(result);
|
||||
navigation.setVisibleNewFolderFacility(false);
|
||||
clearMoreInfo();
|
||||
}
|
||||
});
|
||||
|
@ -204,18 +207,21 @@ public class WorkspaceExplorerController implements EventHandler {
|
|||
@Override
|
||||
public void subtmitHandler(String folderName) {
|
||||
|
||||
showMessage(AlertType.INFO, "Creating folder \""+folderName+"\"");
|
||||
|
||||
WorkspaceExplorerConstants.workspaceNavigatorService.createFolder(folderName, "", breadcrumbs.getLastParent().getId(), new AsyncCallback<Item>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
hideMessage();
|
||||
clearMoreInfo();
|
||||
Window.alert(caught.getMessage());
|
||||
GWT.log(caught.getMessage());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Item result) {
|
||||
|
||||
hideMessage();
|
||||
if(result!=null){
|
||||
wsExplorer.addItemToExplorer(result);
|
||||
clearMoreInfo();
|
||||
|
|
|
@ -45,17 +45,15 @@ public abstract class CreateFolderForm extends Composite {
|
|||
@UiField
|
||||
FluidRow validator_field;
|
||||
|
||||
@UiField
|
||||
FluidRow form_fields;
|
||||
|
||||
@UiField
|
||||
Form form_create_folder;
|
||||
|
||||
private Alert alertError = new Alert("Required Field");
|
||||
|
||||
private Alert alertSubmitResult = new Alert("");
|
||||
|
||||
private Alert alert = new Alert();
|
||||
private static AbstractFormReleaseUiBinder uiBinder = GWT.create(AbstractFormReleaseUiBinder.class);
|
||||
|
||||
private int width = 300;
|
||||
|
||||
/**
|
||||
* Subtmit handler.
|
||||
*
|
||||
|
@ -88,13 +86,6 @@ public abstract class CreateFolderForm extends Composite {
|
|||
input_folder_name.addStyleName("gwt-TextBox-personal");
|
||||
submit_create_folder.addStyleName("margin-right-5px");
|
||||
|
||||
// setSize(width+"px", "200px");
|
||||
// input_folder_name.setWidth(width-10+"px");
|
||||
|
||||
// input_layer_name.addStyleName("textbox-geo");
|
||||
// input_layer_title.addStyleName("textbox-geo");
|
||||
// input_WMS_URI.addStyleName("textbox-geo");
|
||||
|
||||
close_dialog.addClickHandler(new ClickHandler() {
|
||||
|
||||
@Override
|
||||
|
@ -128,21 +119,25 @@ public abstract class CreateFolderForm extends Composite {
|
|||
}
|
||||
});
|
||||
|
||||
alertError.addStyleName("marginTop10");
|
||||
alertError.setType(AlertType.ERROR);
|
||||
alertError.setVisible(false);
|
||||
alertError.setClose(false);
|
||||
validator_field.add(alertError);
|
||||
alert.addStyleName("marginTop10");
|
||||
alert.setType(AlertType.ERROR);
|
||||
alert.setVisible(false);
|
||||
alert.setClose(false);
|
||||
validator_field.add(alert);
|
||||
}
|
||||
|
||||
// alertSubmitResult.addStyleName("marginTop10");
|
||||
alertSubmitResult.setType(AlertType.INFO);
|
||||
alertSubmitResult.setVisible(false);
|
||||
alertSubmitResult.setClose(false);
|
||||
public void showMessage(AlertType type, String message){
|
||||
alert.setType(type);
|
||||
alert.setHTML(message);
|
||||
alert.setVisible(true);
|
||||
form_fields.setVisible(false);
|
||||
}
|
||||
|
||||
// hp_form_actions.setCellHorizontalAlignment(close_dialog, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
public void hideMessage(){
|
||||
if(alert.isVisible())
|
||||
alert.setVisible(false);
|
||||
|
||||
showAlertSubmitResult(false, "");
|
||||
form_create_folder.add(alertSubmitResult);
|
||||
form_fields.setVisible(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -162,18 +157,6 @@ public abstract class CreateFolderForm extends Composite {
|
|||
return valid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show alert submit result.
|
||||
*
|
||||
* @param visible the visible
|
||||
* @param text the text
|
||||
*/
|
||||
public void showAlertSubmitResult(boolean visible, String text){
|
||||
alertSubmitResult.setText(text);
|
||||
alertSubmitResult.setVisible(visible);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the submit button.
|
||||
*
|
||||
|
@ -198,28 +181,9 @@ public abstract class CreateFolderForm extends Composite {
|
|||
* @return the alert error
|
||||
*/
|
||||
public Alert getAlertError() {
|
||||
return alertError;
|
||||
return alert;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the alert submit result.
|
||||
*
|
||||
* @return the alert submit result
|
||||
*/
|
||||
public Alert getAlertSubmitResult() {
|
||||
return alertSubmitResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the alert error visible.
|
||||
*
|
||||
* @param bool the new alert error visible
|
||||
*/
|
||||
public void setAlertErrorVisible(boolean bool){
|
||||
alertError.setVisible(bool);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the text box folder name.
|
||||
*
|
||||
|
|
|
@ -3,11 +3,13 @@
|
|||
xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:b="urn:import:com.github.gwtbootstrap.client.ui">
|
||||
|
||||
<b:WellForm type="INLINE" ui:field="form_create_folder">
|
||||
<b:ControlLabel ui:field="control_label">New Folder</b:ControlLabel>
|
||||
<b:TextBox placeholder="Type Folder name..." b:id="input_folder_name"
|
||||
ui:field="input_folder_name" styleName="gwt-TextBox-personal"></b:TextBox>
|
||||
<b:Button ui:field="submit_create_folder">Create</b:Button>
|
||||
<b:Button ui:field="close_dialog">Close</b:Button>
|
||||
<b:FluidRow ui:field="validator_field"></b:FluidRow>
|
||||
<b:FluidRow ui:field="form_fields">
|
||||
<b:ControlLabel ui:field="control_label">New Folder</b:ControlLabel>
|
||||
<b:TextBox placeholder="Type Folder name..." b:id="input_folder_name"
|
||||
ui:field="input_folder_name" styleName="gwt-TextBox-personal"></b:TextBox>
|
||||
<b:Button ui:field="submit_create_folder">Create</b:Button>
|
||||
<b:Button ui:field="close_dialog">Close</b:Button>
|
||||
</b:FluidRow>
|
||||
</b:WellForm>
|
||||
</ui:UiBinder>
|
|
@ -128,7 +128,7 @@ public class Navigation extends Composite{
|
|||
});
|
||||
}
|
||||
|
||||
public void activeButtons(boolean bool){
|
||||
new_folder.setActive(bool);
|
||||
public void setVisibleNewFolderFacility(boolean bool){
|
||||
new_folder.setVisible(bool);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,18 +68,20 @@ public class ItemBuilder {
|
|||
return Util.isFolder(item.getType()) && item.getChildren().size() == 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the item.
|
||||
*
|
||||
* @param parent the parent
|
||||
* @param workspaceItem the workspace item
|
||||
* @param workspaceItemPath the workspace item path
|
||||
* @param showableTypes the showable types
|
||||
* @param filterCriteria the filter criteria
|
||||
* @param loadChildren the load children
|
||||
* @return the item
|
||||
* @throws InternalErrorException the internal error exception
|
||||
*/
|
||||
public static Item getItem(Item parent, WorkspaceItem workspaceItem, List<ItemType> showableTypes, FilterCriteria filterCriteria, boolean loadChildren) throws InternalErrorException
|
||||
public static Item getItem(Item parent, WorkspaceItem workspaceItem, String workspaceItemPath, List<ItemType> showableTypes, FilterCriteria filterCriteria, boolean loadChildren) throws InternalErrorException
|
||||
{
|
||||
|
||||
ItemType type = getItemType(workspaceItem);
|
||||
|
@ -110,14 +112,12 @@ public class ItemBuilder {
|
|||
|
||||
Item item = null;
|
||||
try{
|
||||
|
||||
//THIS CALL IS VERY SLOW!!
|
||||
// String storageID = null;
|
||||
// if(workspaceItem instanceof FolderItem){
|
||||
// storageID = workspaceItem.getStorageID();
|
||||
// }
|
||||
|
||||
item = new Item(parent, workspaceItem.getId(), itemName, type, workspaceItem.getPath(), UserUtil.getUserFullName(workspaceItem.getOwner().getPortalLogin()), isFolder, false);
|
||||
item = new Item(parent, workspaceItem.getId(), itemName, type, workspaceItemPath, UserUtil.getUserFullName(workspaceItem.getOwner().getPortalLogin()), isFolder, false);
|
||||
item.setSharedFolder(isSharedFolder);
|
||||
}catch(Exception e){
|
||||
_log.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item");
|
||||
|
@ -125,9 +125,15 @@ public class ItemBuilder {
|
|||
}
|
||||
|
||||
if(loadChildren){
|
||||
//TODO A PATCH TO AVOID A SLOW GETPATH
|
||||
workspaceItemPath = workspaceItem.getPath();
|
||||
for (WorkspaceItem child: workspaceItem.getChildren()){
|
||||
_log.trace("\n\nConverting child item: "+child.getName());
|
||||
Item itemChild = getItem(item, child, showableTypes, filterCriteria, false);
|
||||
// workspaceItemPath+="/"+child.getName();
|
||||
if(child.isFolder())
|
||||
workspaceItemPath+="/"+child.getName();
|
||||
|
||||
// _log.trace("\nConverting child item: "+child.getName());
|
||||
Item itemChild = getItem(item, child, workspaceItemPath, showableTypes, filterCriteria, false);
|
||||
_log.trace("Item: "+child.getName() +" converted!!!");
|
||||
if (itemChild!=null){
|
||||
item.addChild(itemChild);
|
||||
|
|
|
@ -62,8 +62,6 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
String sessionID = httpSession.getId();
|
||||
String user = (String) httpSession.getAttribute(USERNAME_ATTRIBUTE);
|
||||
|
||||
_log.error("WORKSPACE PORTLET SessionID= " + sessionID);
|
||||
|
||||
//TODO we check for the older attribute name
|
||||
if (user == null) {
|
||||
user = (String) httpSession.getAttribute("user");
|
||||
|
@ -122,7 +120,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
long startTime = System.currentTimeMillis();
|
||||
_log.trace("start time - " + startTime);
|
||||
|
||||
Item rootItem = ItemBuilder.getItem(null, root, showableTypes, filterCriteria, true);
|
||||
Item rootItem = ItemBuilder.getItem(null, root, root.getPath(), showableTypes, filterCriteria, true);
|
||||
rootItem.setName(WorkspaceExplorerConstants.HOME_LABEL);
|
||||
rootItem.setIsRoot(true);
|
||||
|
||||
|
@ -167,7 +165,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
long startTime = System.currentTimeMillis();
|
||||
_log.trace("start time - " + startTime);
|
||||
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, showableTypes, filterCriteria, true);
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, folder.getPath(), showableTypes, filterCriteria, true);
|
||||
_log.trace("Only showable types:");
|
||||
|
||||
if (purgeEmpyFolders) {
|
||||
|
@ -242,7 +240,7 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
long startTime = System.currentTimeMillis();
|
||||
_log.trace("start time - " + startTime);
|
||||
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, showableTypes, filterCriteria, true);
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, folder.getPath(), showableTypes, filterCriteria, true);
|
||||
//OVERRIDING VRE FOLDERS NAME - SET SPECIAL FOLDER /Workspace/MySpecialFolders
|
||||
itemFolder.setName(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL);
|
||||
itemFolder.setSpecialFolder(true);
|
||||
|
@ -331,10 +329,8 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
* BUT RETURNING ONLY /MY_SPECIAL_FOLDER
|
||||
*/
|
||||
if(wsItem.isFolder()){
|
||||
if(ItemBuilder.isSpecialFolder((WorkspaceFolder) wsItem))
|
||||
{
|
||||
if(ItemBuilder.isSpecialFolder((WorkspaceFolder) wsItem)){
|
||||
return new ArrayList<Item>(Arrays.asList(arrayParents));
|
||||
// return listParents;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -619,12 +615,22 @@ public class WorkspaceExplorerServiceImpl extends RemoteServiceServlet implement
|
|||
|
||||
Item parent = null;
|
||||
try{
|
||||
parent = ItemBuilder.getItem(null, wsFolder.getParent(), allTypes, null, false);
|
||||
String parentPath = wsFolder.getParent()!=null?wsFolder.getParent().getPath():"";
|
||||
parent = ItemBuilder.getItem(null, wsFolder.getParent(), parentPath, allTypes, null, false);
|
||||
}catch(Exception e){
|
||||
_log.error("Get parent thown an exception, is it the root id? "+parentId);
|
||||
}
|
||||
|
||||
return ItemBuilder.getItem(parent, wsFolder, allTypes, null, false);
|
||||
//TODO PATCH TO AVOID PROBLEM ON GETPATH. FOR EXAMPLE WHEN PARENT IS ROOT
|
||||
String itemPath = null;
|
||||
try{
|
||||
itemPath = wsFolder.getPath();
|
||||
}catch(Exception e){
|
||||
_log.error("Get path thown an exception, for id: "+wsFolder.getId());
|
||||
itemPath= wsFolder.isFolder()?workspace.getRoot().getPath()+"/"+wsFolder.getName():workspace.getRoot().getPath();
|
||||
}
|
||||
|
||||
return ItemBuilder.getItem(parent, wsFolder, itemPath, allTypes, null, false);
|
||||
|
||||
} catch(InsufficientPrivilegesException e){
|
||||
String error = "Insufficient Privileges to create the folder";
|
||||
|
|
|
@ -318,9 +318,7 @@ public class Item implements IsSerializable {
|
|||
public String toString() {
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("Item [parent=");
|
||||
builder.append(parent);
|
||||
builder.append(", id=");
|
||||
builder.append("Item id=");
|
||||
builder.append(id);
|
||||
builder.append(", name=");
|
||||
builder.append(name);
|
||||
|
|
|
@ -40,7 +40,11 @@ public class TestGetChildren {
|
|||
List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,null,null);
|
||||
getRoot(showableTypes, purgeEmpyFolders, filterCriteria);
|
||||
Item item = getRoot(showableTypes, purgeEmpyFolders, filterCriteria);
|
||||
|
||||
for (Item child : item.getChildren()) {
|
||||
System.out.println(child);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -66,7 +70,7 @@ public class TestGetChildren {
|
|||
long startTime = System.currentTimeMillis();
|
||||
_log.debug("start time - " + startTime);
|
||||
|
||||
Item rootItem = ItemBuilder.getItem(null, root, showableTypes, filterCriteria, true);
|
||||
Item rootItem = ItemBuilder.getItem(null, root, root.getPath(),showableTypes, filterCriteria, true);
|
||||
|
||||
if(rootItem==null)
|
||||
throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get root");
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
package org.gcube.portlets.widgets.wsexplorer.client;
|
||||
|
||||
|
@ -30,24 +30,24 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||
* Jul 6, 2015
|
||||
*/
|
||||
public class TestGetSize {
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
private static final String TEST_SCOPE = "/gcube/devsec";
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public static final String TEST_USER = "francesco.mangiacrapa";
|
||||
public static final Logger _log = LoggerFactory.getLogger(TestGetSize.class);
|
||||
private static Workspace workspace;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) throws WorkspaceNavigatorServiceException {
|
||||
List<ItemType> showableTypes = new ArrayList<ItemType>();
|
||||
showableTypes.addAll(Arrays.asList(ItemType.values()));
|
||||
|
@ -55,10 +55,10 @@ public class TestGetSize {
|
|||
List<String> allowedMimeTypes = new ArrayList<String>();
|
||||
Map<String, String> requiredProperties = new HashMap<String, String>();
|
||||
FilterCriteria filterCriteria = new FilterCriteria(allowedMimeTypes,null,null);
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
|
||||
|
||||
ScopeBean scope = new ScopeBean(TEST_SCOPE);
|
||||
ScopeProvider.instance.set(scope.toString());
|
||||
workspace = HomeLibrary
|
||||
|
@ -66,19 +66,19 @@ public class TestGetSize {
|
|||
.getHomeManager()
|
||||
.getHome(TEST_USER)
|
||||
.getWorkspace();
|
||||
|
||||
|
||||
for (WorkspaceItem child: workspace.getRoot().getChildren()){
|
||||
_log.debug("Child item: "+child);
|
||||
// Item itemChild = getItem(item, child, showableTypes, filterCriteria, false);
|
||||
// Item itemChild = getItem(item, child, showableTypes, filterCriteria, false);
|
||||
// _log.debug("Item: "+itemName +" converted!!!");
|
||||
// if (itemChild!=null){
|
||||
// item.addChild(itemChild);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Item mySpecial = getMySpecialFolder(showableTypes, false, filterCriteria);
|
||||
|
||||
|
||||
for (Item spf : mySpecial.getChildren()) {
|
||||
String size = getReadableSizeByItemId(spf.getId());
|
||||
System.out.println(spf.getName() + ", size: "+size);
|
||||
|
@ -87,32 +87,32 @@ public class TestGetSize {
|
|||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
getRoot(showableTypes, purgeEmpyFolders, filterCriteria);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static Item getRoot(List<ItemType> showableTypes, boolean purgeEmpyFolders, FilterCriteria filterCriteria) throws WorkspaceNavigatorServiceException {
|
||||
_log.trace("getRoot showableTypes: "+showableTypes+" purgeEmpyFolders: "+purgeEmpyFolders+" filterCriteria: "+ filterCriteria);
|
||||
|
||||
|
||||
try {
|
||||
|
||||
_log.trace("Start getRoot...");
|
||||
|
||||
|
||||
WorkspaceItem root = workspace.getRoot();
|
||||
|
||||
_log.trace("GetRoot - Replyiing root");
|
||||
long startTime = System.currentTimeMillis();
|
||||
_log.trace("start time - " + startTime);
|
||||
|
||||
Item rootItem = ItemBuilder.getItem(null, root, showableTypes, filterCriteria, true);
|
||||
Item rootItem = ItemBuilder.getItem(null, root, root.getPath(), showableTypes, filterCriteria, true);
|
||||
rootItem.setName(WorkspaceExplorerConstants.HOME_LABEL);
|
||||
|
||||
|
||||
/* SPECIAL FOLDERS
|
||||
Item specialFolders = ItemBuilder.getItem(null, specials, showableTypes, filterCriteria, 2);
|
||||
specialFolders.setShared(true);
|
||||
rootItem.addChild(specialFolders);
|
||||
rootItem.addChild(specialFolders);
|
||||
*/
|
||||
if (purgeEmpyFolders) rootItem = ItemBuilder.purgeEmptyFolders(rootItem);
|
||||
|
||||
|
@ -123,7 +123,7 @@ public class TestGetSize {
|
|||
|
||||
Collections.sort(rootItem.getChildren(), new ItemComparator());
|
||||
_log.info("Returning children size: "+rootItem.getChildren().size());
|
||||
|
||||
|
||||
return rootItem;
|
||||
|
||||
} catch (Exception e) {
|
||||
|
@ -131,7 +131,7 @@ public class TestGetSize {
|
|||
throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get root");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
@ -146,10 +146,10 @@ public class TestGetSize {
|
|||
long startTime = System.currentTimeMillis();
|
||||
_log.trace("start time - " + startTime);
|
||||
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, showableTypes, filterCriteria, true);
|
||||
Item itemFolder = ItemBuilder.getItem(null, folder, folder.getPath(), showableTypes, filterCriteria, true);
|
||||
itemFolder.setName(WorkspaceExplorerConstants.VRE_FOLDERS_LABEL);
|
||||
itemFolder.setSpecialFolder(true);
|
||||
|
||||
|
||||
_log.trace("Builded MySpecialFolder: "+itemFolder);
|
||||
|
||||
_log.trace("Only showable types:");
|
||||
|
@ -164,7 +164,7 @@ public class TestGetSize {
|
|||
_log.trace("end time - " + time);
|
||||
|
||||
//printName("", folderItem);
|
||||
|
||||
|
||||
Collections.sort(itemFolder.getChildren(), new ItemComparator());
|
||||
|
||||
return itemFolder;
|
||||
|
@ -174,19 +174,19 @@ public class TestGetSize {
|
|||
throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get My Special Folder");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.gcube.portlets.widgets.wsexplorer.client.rpc.WorkspaceExplorerService#loadSizeByItemId(java.lang.String)
|
||||
*/
|
||||
|
||||
public static Long getSizeByItemId(String itemId) throws Exception {
|
||||
|
||||
|
||||
_log.info("get Size By ItemId "+ itemId);
|
||||
try {
|
||||
|
||||
|
||||
WorkspaceItem wsItem = workspace.getItem(itemId);
|
||||
Long size = new Long(-1);
|
||||
|
||||
|
||||
if(wsItem instanceof FolderItem){ //ITEM
|
||||
FolderItem folderItem = (FolderItem) wsItem;
|
||||
size = new Long(folderItem.getLength());
|
||||
|
@ -199,16 +199,16 @@ public class TestGetSize {
|
|||
}
|
||||
_log.info("returning size: " +size);
|
||||
return size;
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
_log.error("get Size By ItemId ", e);
|
||||
throw new Exception(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static String getReadableSizeByItemId(String itemId) throws Exception {
|
||||
|
||||
|
||||
try{
|
||||
_log.info("getFormattedSize ByItemId "+ itemId);
|
||||
long size = getSizeByItemId(itemId);
|
||||
|
|
Loading…
Reference in New Issue