merged with private version at 181499
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@181671 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
9466f4407b
commit
f8eb5deebe
|
@ -1,11 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
<wb-module deploy-name="workspace-6.22.0-SNAPSHOT">
|
||||
<wb-module deploy-name="workspace-6.23.0-SNAPSHOT">
|
||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
<dependent-module archiveName="workspace-tree-widget-6.25.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/WorkspaceTree-TRUNK/WorkspaceTree-TRUNK">
|
||||
<dependent-module archiveName="workspace-tree-widget-6.27.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/WorkspaceTree-TRUNK/WorkspaceTree-TRUNK">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
<dependent-module archiveName="ws-task-executor-widget-0.2.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ws-task-executor-widget-TRUNK/ws-task-executor-widget-TRUNK">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
<ReleaseNotes>
|
||||
<Changeset
|
||||
component="org.gcube.portlets-user.workspace-portlet.6-23-0"
|
||||
date="${buildDate}">
|
||||
<Change>[Task #17226] Removing HL </Change>
|
||||
</Changeset>
|
||||
<Changeset
|
||||
component="org.gcube.portlets-user.workspace-portlet.6-22-0"
|
||||
date="${buildDate}">
|
||||
|
|
69
pom.xml
69
pom.xml
|
@ -12,7 +12,7 @@
|
|||
<groupId>org.gcube.portlets.user</groupId>
|
||||
<artifactId>workspace</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<version>6.22.0-SNAPSHOT</version>
|
||||
<version>6.23.0-SNAPSHOT</version>
|
||||
<name>gCube Workspace Portlet</name>
|
||||
<description>
|
||||
gCube Workspace Portlet is a web-gui to manage the gCube workspace a collaborative area where users can exchange and organize information objects (workspace items) according to their specific needs.
|
||||
|
@ -99,7 +99,7 @@
|
|||
<dependency>
|
||||
<groupId>org.gcube.common.portal</groupId>
|
||||
<artifactId>portal-manager</artifactId>
|
||||
<scope>provided</scope>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
@ -236,33 +236,33 @@
|
|||
</dependency>
|
||||
|
||||
<!-- HOME LIBRARY -->
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-model</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library-jcr</artifactId>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>asm-debug-all</artifactId>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.gcube.common</groupId>
|
||||
<artifactId>home-library</artifactId>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>asm-all</artifactId>
|
||||
<groupId>asm</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-model</artifactId> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library-jcr</artifactId> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- <exclusions> -->
|
||||
<!-- <exclusion> -->
|
||||
<!-- <artifactId>asm-debug-all</artifactId> -->
|
||||
<!-- <groupId>org.ow2.asm</groupId> -->
|
||||
<!-- </exclusion> -->
|
||||
<!-- </exclusions> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.gcube.common</groupId> -->
|
||||
<!-- <artifactId>home-library</artifactId> -->
|
||||
<!-- <scope>provided</scope> -->
|
||||
<!-- <exclusions> -->
|
||||
<!-- <exclusion> -->
|
||||
<!-- <artifactId>asm-all</artifactId> -->
|
||||
<!-- <groupId>asm</groupId> -->
|
||||
<!-- </exclusion> -->
|
||||
<!-- </exclusions> -->
|
||||
<!-- </dependency> -->
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.portlet</groupId>
|
||||
|
@ -278,20 +278,15 @@
|
|||
|
||||
<!-- LOGGER -->
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
|
|
|
@ -31,7 +31,6 @@ import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.Download
|
|||
import org.gcube.portlets.user.workspace.client.event.FileDownloadEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.FileUploadEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.FileUploadEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.FilterScopeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.GetFolderLinkEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.GetInfoEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.GetInfoEventHandler;
|
||||
|
@ -39,11 +38,10 @@ import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEvent;
|
|||
import org.gcube.portlets.user.workspace.client.event.GetPublicLinkEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.LoadTreeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.MoveItemsEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenReportsEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenUrlEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.RefreshFolderEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.RenameItemEvent;
|
||||
|
@ -69,8 +67,6 @@ import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedE
|
|||
import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.GridRefreshEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.GridRefreshEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.LoadAllScopeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.LoadAllScopeEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.LoadBreadcrumbEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.LoadBreadcrumbEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.MoveItemsGEvent;
|
||||
|
@ -79,8 +75,6 @@ import org.gcube.portlets.user.workspace.client.gridevent.PathElementSelectedEve
|
|||
import org.gcube.portlets.user.workspace.client.gridevent.PathElementSelectedEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SaveSmartFolderEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SaveSmartFolderEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SearchItemByIdEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SearchItemByIdEventHandler;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SearchTextEvent;
|
||||
|
@ -101,7 +95,6 @@ import org.gcube.portlets.user.workspace.client.model.FileGridModel;
|
|||
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
||||
import org.gcube.portlets.user.workspace.client.model.FileVersionModel;
|
||||
import org.gcube.portlets.user.workspace.client.model.FolderModel;
|
||||
import org.gcube.portlets.user.workspace.client.model.ScopeModel;
|
||||
import org.gcube.portlets.user.workspace.client.view.WorkspaceFeaturesView;
|
||||
import org.gcube.portlets.user.workspace.client.view.WorkspaceQuotesView;
|
||||
import org.gcube.portlets.user.workspace.client.view.WorskpacePortlet;
|
||||
|
@ -318,16 +311,6 @@ public class AppController implements SubscriberInterface {
|
|||
}
|
||||
});
|
||||
|
||||
//********EVENTS TO NOTIFY SUBSCRIBERS
|
||||
eventBus.addHandler(OpenReportsEvent.TYPE, new OpenReportsEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onClickOpenReports(OpenReportsEvent openReportsEvent) {
|
||||
|
||||
AppControllerExplorer.getEventBus().fireEvent(new OpenReportsEvent(openReportsEvent.getSourceFileModel()));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
eventBus.addHandler(GetPublicLinkEvent.TYPE, new GetPublicLinkEventHandler() {
|
||||
|
||||
|
@ -340,8 +323,6 @@ public class AppController implements SubscriberInterface {
|
|||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
eventBus.addHandler(AccountingHistoryEvent.TYPE, new AccountingHistoryEventHandler() {
|
||||
|
||||
@Override
|
||||
|
@ -484,52 +465,6 @@ public class AppController implements SubscriberInterface {
|
|||
|
||||
});
|
||||
|
||||
eventBus.addHandler(LoadAllScopeEvent.TYPE, new LoadAllScopeEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onLoadScopes(LoadAllScopeEvent loadAllScopeEvent) {
|
||||
doLoadAllScope();
|
||||
|
||||
}
|
||||
|
||||
private void doLoadAllScope() {
|
||||
|
||||
appContrExplorer.getRpcWorkspaceService().getAllScope(new AsyncCallback<List<ScopeModel>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting all scope." +ConstantsExplorer.TRY_AGAIN, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<ScopeModel> result) {
|
||||
|
||||
if(result!=null && result.size()>0){
|
||||
wsPortlet.getSearchAndFilterContainer().setListScope(result);
|
||||
wsPortlet.getSearchAndFilterContainer().selectScopeByIndex(0); //select first scope
|
||||
}
|
||||
else
|
||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting all scope. No scope available. " +ConstantsExplorer.TRY_AGAIN, null);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
eventBus.addHandler(ScopeChangeEvent.TYPE, new ScopeChangeEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onLoadScope(ScopeChangeEvent scopeChangeEvent) {
|
||||
doLoadScope(scopeChangeEvent.getScopeId());
|
||||
|
||||
}
|
||||
|
||||
private void doLoadScope(String scopeId) {
|
||||
AppControllerExplorer.getEventBus().fireEvent(new FilterScopeEvent(scopeId));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
eventBus.addHandler(SaveSmartFolderEvent.TYPE, new SaveSmartFolderEventHandler() {
|
||||
|
||||
@Override
|
||||
|
@ -599,9 +534,7 @@ public class AppController implements SubscriberInterface {
|
|||
if(wsPortlet.getGxtCardLayoutResultPanel().getActivePanel() instanceof GxtItemsPanel){ //If active panel is panel with file items
|
||||
|
||||
wsPortlet.getGridGroupContainer().setBorderAsOnSearch(true);
|
||||
|
||||
wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
|
||||
|
||||
appContrExplorer.getRpcWorkspaceService().getItemsBySearchName(textSearch, folderId, new AsyncCallback<List<FileGridModel>>() {
|
||||
|
||||
@Override
|
||||
|
@ -789,13 +722,6 @@ public class AppController implements SubscriberInterface {
|
|||
parent = wsPortlet.getGridGroupContainer().getCurrentFolderView();
|
||||
GWT.log("Search is not active get parent item for uploading from CurrentFolderView: " +parent.getName());
|
||||
}
|
||||
// }else if(wsPortlet.getGridGroupContainer().getCurrentFolderView()!=null){
|
||||
// parent = wsPortlet.getGridGroupContainer().getCurrentFolderView();
|
||||
// GWT.log("get parent item for uploading from CurrentFolderView: " +parent.getName());
|
||||
// }else if(wsPortlet.getToolBarPath().getLastParent()!=null){
|
||||
// parent = wsPortlet.getToolBarPath().getLastParent();
|
||||
// GWT.log("get parent item for uploading from breadcrumb: " +parent.getName());
|
||||
// }
|
||||
}
|
||||
else{ //IF IS SEARCH ACTIVE
|
||||
|
||||
|
@ -849,11 +775,8 @@ public class AppController implements SubscriberInterface {
|
|||
}
|
||||
|
||||
final FileModel target = parent;
|
||||
|
||||
final int size = event.getListTarget().size();
|
||||
|
||||
List<? extends FileModel> targets = event.getListTarget();
|
||||
|
||||
final List<FileModel> clearTargets = new ArrayList<FileModel>(targets);
|
||||
|
||||
//IGNORING SHARED FOLDER
|
||||
|
@ -896,10 +819,8 @@ public class AppController implements SubscriberInterface {
|
|||
|
||||
@Override
|
||||
public void onClick(ClickEvent clickEvent) {
|
||||
|
||||
confirm.loader("Deleting "+diff+ " items, please wait");
|
||||
// wsPortlet.getGridGroupContainer().mask("Deleting",ConstantsExplorer.LOADINGSTYLE);
|
||||
|
||||
|
||||
appContrExplorer.getRpcWorkspaceService().deleteListItemsForIds(ids, new AsyncCallback<List<GarbageItem>>() {
|
||||
|
||||
@Override
|
||||
|
@ -992,10 +913,6 @@ public class AppController implements SubscriberInterface {
|
|||
});
|
||||
|
||||
}
|
||||
/*
|
||||
private void accountingSetItemAsRead(boolean read) {
|
||||
wsPortlet.getToolBarItemDetails().setRead(read);
|
||||
}*/
|
||||
|
||||
/**
|
||||
* Do element grid selected.
|
||||
|
@ -1178,11 +1095,6 @@ public class AppController implements SubscriberInterface {
|
|||
wsPortlet.getToolBarItemDetails().updateAddAdministatorInfo(AppControllerExplorer.myLogin, res.get(0));
|
||||
}
|
||||
}
|
||||
|
||||
// if(res!=null && res.size()>0){
|
||||
// wsPortlet.getToolBarItemDetails().updateACLInfo(res.get(0));
|
||||
// wsPortlet.getToolBarItemDetails().updateAddAdministatorInfo(AppControllerExplorer.myLogin, res.get(0));
|
||||
// }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1260,7 +1172,7 @@ public class AppController implements SubscriberInterface {
|
|||
|
||||
dnd.addWorkspaceUploadNotificationListener(listener);
|
||||
|
||||
eventBus.fireEvent(new LoadAllScopeEvent()); //LOAD ALL SCOPE EVENT
|
||||
AppControllerExplorer.getEventBus().fireEvent(new LoadTreeEvent(true)); //LOAD THE TREE
|
||||
}
|
||||
|
||||
final boolean searchingForItemId = isSearchForItemId;
|
||||
|
@ -1357,6 +1269,7 @@ public class AppController implements SubscriberInterface {
|
|||
}
|
||||
});
|
||||
|
||||
//TODO CHECK IF THIS MUST REMAIN COMMENTED
|
||||
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
|
||||
@Override
|
||||
public void execute() {
|
||||
|
@ -1615,7 +1528,6 @@ public class AppController implements SubscriberInterface {
|
|||
|
||||
GWT.log("Add to store: "+result);
|
||||
wsPortlet.getGridGroupContainer().addToStore(result);
|
||||
// wsPortlet.getGridGroupContainer().unmask();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1742,56 +1654,7 @@ public class AppController implements SubscriberInterface {
|
|||
@Override
|
||||
public void smartFolderSelected(final String folderId, final GXTCategorySmartFolder category) {
|
||||
|
||||
selectedSmartFolderId = folderId;
|
||||
selectedSmartFolderCategory = category;
|
||||
|
||||
GWT.log("Smart folder selected, folderId: " + selectedSmartFolderId);
|
||||
GWT.log("Smart folder selected, category: " + selectedSmartFolderCategory);
|
||||
|
||||
wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
|
||||
|
||||
wsPortlet.getGridGroupContainer().setBorderAsOnSearch(true);
|
||||
|
||||
if (folderId != null && !folderId.isEmpty()) {
|
||||
|
||||
appContrExplorer.getRpcWorkspaceService().getSmartFolderResultsById(folderId,new AsyncCallback<List<FileGridModel>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting smart folders. " +ConstantsExplorer.TRY_AGAIN, null);
|
||||
wsPortlet.getGridGroupContainer().unmask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<FileGridModel> result) {
|
||||
wsPortlet.getSearchAndFilterContainer().setSearchActive(true);
|
||||
// setSearchActive(true);
|
||||
wsPortlet.getGridGroupContainer().unmask();
|
||||
wsPortlet.getGridGroupContainer().updateStore(result);
|
||||
}
|
||||
|
||||
});
|
||||
} else {
|
||||
|
||||
if (category != null) {
|
||||
|
||||
appContrExplorer.getRpcWorkspaceService().getSmartFolderResultsByCategory(category, new AsyncCallback<List<FileGridModel>>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting smart folder results by category. " +ConstantsExplorer.TRY_AGAIN, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<FileGridModel> result) {
|
||||
wsPortlet.getGridGroupContainer().unmask();
|
||||
wsPortlet.getGridGroupContainer().updateStore(result);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Window.alert("The method smartFolderSelected has been removed");
|
||||
|
||||
}
|
||||
|
||||
|
@ -2230,7 +2093,6 @@ public class AppController implements SubscriberInterface {
|
|||
public void onSuccess(TrashOperationContent operationResult) {
|
||||
|
||||
WindowTrash.getInstance().executeOperationOnTrashContainer(operationResult.getListTrashIds(), operationResult.getOperation());
|
||||
|
||||
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(WindowTrash.getInstance().getTrashedFiles().size()>0);
|
||||
|
||||
//SHOW POSSIBLY ERRORS
|
||||
|
@ -2264,7 +2126,6 @@ public class AppController implements SubscriberInterface {
|
|||
public void onSuccess(TrashContent operationResult) {
|
||||
|
||||
WindowTrash.getInstance().updateTrashContainer(operationResult.getTrashContent());
|
||||
|
||||
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(operationResult.getTrashContent().size()>0);
|
||||
|
||||
//SHOW POSSIBLY ERRORS
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public class LoadAllScopeEvent extends GwtEvent<LoadAllScopeEventHandler> {
|
||||
public static Type<LoadAllScopeEventHandler> TYPE = new Type<LoadAllScopeEventHandler>();
|
||||
|
||||
public LoadAllScopeEvent() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<LoadAllScopeEventHandler> getAssociatedType() {
|
||||
// TODO Auto-generated method stub
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatch(LoadAllScopeEventHandler handler) {
|
||||
handler.onLoadScopes(this);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public interface LoadAllScopeEventHandler extends EventHandler {
|
||||
void onLoadScopes(LoadAllScopeEvent loadAllScopeEvent);
|
||||
}
|
|
@ -1,35 +1,35 @@
|
|||
package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public class ScopeChangeEvent extends GwtEvent<ScopeChangeEventHandler> {
|
||||
public static Type<ScopeChangeEventHandler> TYPE = new Type<ScopeChangeEventHandler>();
|
||||
|
||||
private String scopeId;
|
||||
|
||||
|
||||
public ScopeChangeEvent(String scopeId) {
|
||||
this.scopeId = scopeId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<ScopeChangeEventHandler> getAssociatedType() {
|
||||
// TODO Auto-generated method stub
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatch(ScopeChangeEventHandler handler) {
|
||||
handler.onLoadScope(this);
|
||||
|
||||
}
|
||||
|
||||
public String getScopeId() {
|
||||
return scopeId;
|
||||
}
|
||||
|
||||
}
|
||||
//package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
//
|
||||
//import com.google.gwt.event.shared.GwtEvent;
|
||||
//
|
||||
///**
|
||||
// * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
// *
|
||||
// */
|
||||
//public class ScopeChangeEvent extends GwtEvent<ScopeChangeEventHandler> {
|
||||
// public static Type<ScopeChangeEventHandler> TYPE = new Type<ScopeChangeEventHandler>();
|
||||
//
|
||||
// private String scopeId;
|
||||
//
|
||||
//
|
||||
// public ScopeChangeEvent(String scopeId) {
|
||||
// this.scopeId = scopeId;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Type<ScopeChangeEventHandler> getAssociatedType() {
|
||||
// // TODO Auto-generated method stub
|
||||
// return TYPE;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void dispatch(ScopeChangeEventHandler handler) {
|
||||
// handler.onLoadScope(this);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// public String getScopeId() {
|
||||
// return scopeId;
|
||||
// }
|
||||
//
|
||||
//}
|
|
@ -1,11 +1,11 @@
|
|||
package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
|
||||
/**
|
||||
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
*
|
||||
*/
|
||||
public interface ScopeChangeEventHandler extends EventHandler {
|
||||
void onLoadScope(ScopeChangeEvent scopeChangeEvent);
|
||||
}
|
||||
//package org.gcube.portlets.user.workspace.client.gridevent;
|
||||
//
|
||||
//import com.google.gwt.event.shared.EventHandler;
|
||||
//
|
||||
///**
|
||||
// * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
||||
// *
|
||||
// */
|
||||
//public interface ScopeChangeEventHandler extends EventHandler {
|
||||
// void onLoadScope(ScopeChangeEvent scopeChangeEvent);
|
||||
//}
|
||||
|
|
|
@ -10,7 +10,6 @@ import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent;
|
|||
import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType;
|
||||
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenContextMenuTreeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.event.OpenReportsEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.DoubleClickElementSelectedEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.GridElementSelectedEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.GridElementUnSelectedEvent;
|
||||
|
@ -317,11 +316,6 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
|
|||
case EXTERNAL_URL:
|
||||
AppController.getEventBus().fireEvent(new ShowUrlEvent(target));
|
||||
break;
|
||||
case REPORT_TEMPLATE:
|
||||
case REPORT:
|
||||
AppController.getEventBus().fireEvent(new OpenReportsEvent(target));
|
||||
break;
|
||||
case QUERY:
|
||||
case TIME_SERIES:
|
||||
case METADATA:
|
||||
case WORKFLOW_REPORT:
|
||||
|
@ -626,15 +620,15 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
|
|||
int percent;
|
||||
if(i==1) {
|
||||
percent = theWidth*30/100;
|
||||
GWT.log("i is: "+i+" percent is "+percent);
|
||||
//GWT.log("i is: "+i+" percent is "+percent);
|
||||
col.setWidth(percent);
|
||||
}else if (i==cm.getColumnCount()-1){
|
||||
percent = theWidth*10/100;
|
||||
GWT.log("i is last column: "+i+" percent is "+percent);
|
||||
//GWT.log("i is last column: "+i+" percent is "+percent);
|
||||
col.setWidth(percent);
|
||||
}else {
|
||||
percent = theWidth*20/100;
|
||||
GWT.log("i is: "+i+" percent is "+percent);
|
||||
//GWT.log("i is: "+i+" percent is "+percent);
|
||||
col.setWidth(percent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,12 @@ import java.util.List;
|
|||
|
||||
import org.gcube.portlets.user.workspace.client.AppController;
|
||||
import org.gcube.portlets.user.workspace.client.ConstantsPortlet;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.ScopeChangeEvent;
|
||||
import org.gcube.portlets.user.workspace.client.gridevent.SearchTextEvent;
|
||||
import org.gcube.portlets.user.workspace.client.model.ScopeModel;
|
||||
import org.gcube.portlets.user.workspace.client.view.GxtComboBox;
|
||||
import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBreadcrumbPathPanel;
|
||||
|
||||
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
|
||||
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
|
||||
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
|
||||
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
|
||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
||||
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
||||
|
@ -189,17 +186,17 @@ public class GxtSeachAndFilterPanel extends LayoutContainer {
|
|||
});
|
||||
|
||||
|
||||
this.cbViewScope.addSelectionChangedListener(new SelectionChangedListener<ScopeModel>() {
|
||||
|
||||
@Override
|
||||
public void selectionChanged(SelectionChangedEvent<ScopeModel> se) {
|
||||
|
||||
ScopeModel scope = se.getSelectedItem();
|
||||
|
||||
AppController.getEventBus().fireEvent(new ScopeChangeEvent(scope.getId()));
|
||||
|
||||
}
|
||||
});
|
||||
// this.cbViewScope.addSelectionChangedListener(new SelectionChangedListener<ScopeModel>() {
|
||||
//
|
||||
// @Override
|
||||
// public void selectionChanged(SelectionChangedEvent<ScopeModel> se) {
|
||||
//
|
||||
// ScopeModel scope = se.getSelectedItem();
|
||||
//
|
||||
// AppController.getEventBus().fireEvent(new ScopeChangeEvent(scope.getId()));
|
||||
//
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@ import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum
|
|||
import org.gcube.portlets.user.workspace.client.model.FileModel;
|
||||
import org.gcube.portlets.user.workspace.client.resources.Resources;
|
||||
import org.gcube.portlets.user.workspace.client.util.GetPermissionIconByACL;
|
||||
import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation;
|
||||
import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation;
|
||||
import org.gcube.portlets.widgets.workspacesharingwidget.shared.ExtendedWorkspaceACL;
|
||||
import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL;
|
||||
import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL.USER_TYPE;
|
||||
import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation;
|
||||
import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation;
|
||||
|
||||
import com.extjs.gxt.ui.client.Style.ButtonScale;
|
||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
||||
|
|
|
@ -630,13 +630,6 @@ public class GxtToolBarItemFunctionality {
|
|||
case EXTERNAL_URL:
|
||||
// contextMenu.getItemByItemId(ConstantsExplorer.LNK).setVisible(true);
|
||||
break;
|
||||
case REPORT_TEMPLATE:
|
||||
// contextMenu.getItemByItemId(ConstantsExplorer.ORT).setVisible(true);
|
||||
break;
|
||||
case REPORT:
|
||||
break;
|
||||
case QUERY:
|
||||
break;
|
||||
case TIME_SERIES:
|
||||
break;
|
||||
case PDF_DOCUMENT:
|
||||
|
|
|
@ -1,154 +0,0 @@
|
|||
package org.gcube.portlets.user.workspace.server;
|
||||
|
||||
import static org.gcube.common.authorization.client.Constants.authorizationService;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.websocket.OnClose;
|
||||
import javax.websocket.OnMessage;
|
||||
import javax.websocket.OnOpen;
|
||||
import javax.websocket.Session;
|
||||
import javax.websocket.server.ServerEndpoint;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.gcube.common.authorization.library.provider.UserInfo;
|
||||
import org.gcube.common.homelibrary.home.HomeLibrary;
|
||||
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
||||
import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder;
|
||||
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
||||
import org.gcube.common.homelibrary.util.zip.ZipUtil;
|
||||
import org.gcube.common.portal.PortalContext;
|
||||
import org.gcube.common.scope.api.ScopeProvider;
|
||||
import org.gcube.contentmanagement.blobstorage.service.IClient;
|
||||
import org.gcube.contentmanager.storageclient.wrapper.AccessType;
|
||||
import org.gcube.contentmanager.storageclient.wrapper.MemoryType;
|
||||
import org.gcube.contentmanager.storageclient.wrapper.StorageClient;
|
||||
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
|
||||
|
||||
@ServerEndpoint(value = "/downloadfolder", subprotocols = { "downloadfolder" })
|
||||
public class DownloadFolderWebSocketServer {
|
||||
|
||||
|
||||
protected static Logger _log = Logger.getLogger(DownloadFolderWebSocketServer.class);
|
||||
|
||||
private static Set<Session> peers = Collections.synchronizedSet( new HashSet<Session>() );
|
||||
|
||||
@OnOpen
|
||||
public void onOpen( final Session session ) {
|
||||
_log.debug( "onOpen(" + session.getId() + ")" );
|
||||
peers.add( session );
|
||||
}
|
||||
|
||||
@OnClose
|
||||
public void onClose( final Session session ) {
|
||||
_log.debug( "onClose(" + session.getId() + ")" );
|
||||
peers.remove( session );
|
||||
}
|
||||
|
||||
@OnMessage
|
||||
public void onMessage( final String message, final Session session ) {
|
||||
_log.info( "onMessage(" + message + "," + session.getId() + ")" );
|
||||
for ( final Session peer : peers )
|
||||
{
|
||||
if ( peer.getId().equals( session.getId() ) ) {
|
||||
if (message.startsWith(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_DO_ZIP)) {
|
||||
String itemId = message.split(":")[1];
|
||||
if(itemId==null || itemId.isEmpty()){
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_FOUND);
|
||||
} else {
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ZIPPING);
|
||||
String username = message.split(":")[2];
|
||||
String absolutePath = zipFolder(itemId, peer, username);
|
||||
peer.getAsyncRemote().sendText(absolutePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
private final static String DEFAULT_ROLE = "OrganizationMember";
|
||||
private static void setAuthorizationToken(String username) throws Exception {
|
||||
|
||||
String scope = "/"+PortalContext.getConfiguration().getInfrastructureName();
|
||||
ScopeProvider.instance.set(scope);
|
||||
_log.debug("calling service token on scope " + scope);
|
||||
List<String> userRoles = new ArrayList<>();
|
||||
userRoles.add(DEFAULT_ROLE);
|
||||
String token = authorizationService().generateUserToken(new UserInfo(username, userRoles), scope);
|
||||
_log.debug("received token: "+token);
|
||||
_log.info("Security token set in session for: "+username + " on " + scope);
|
||||
}
|
||||
|
||||
private String zipFolder(String itemId, Session peer, String username) {
|
||||
|
||||
_log.info("FOLDER DOWNLOAD REQUEST itemId="+itemId + " user=" + username);
|
||||
Workspace wa = null;
|
||||
try {
|
||||
setAuthorizationToken(username);
|
||||
wa = HomeLibrary.getUserWorkspace(username);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (wa == null) {
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_SESSION_EXPIRED);
|
||||
return null;
|
||||
}
|
||||
|
||||
WorkspaceItem item;
|
||||
try {
|
||||
|
||||
item = wa.getItem(itemId);
|
||||
|
||||
} catch (Exception e) {
|
||||
_log.error("Requested item "+itemId+" not found",e);
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_FOUND);
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (item.getType()) {
|
||||
case SHARED_FOLDER:
|
||||
case FOLDER:{
|
||||
try {
|
||||
File tmpZip = ZipUtil.zipFolder((WorkspaceFolder) item);
|
||||
|
||||
String randomDirName = UUID.randomUUID().toString();
|
||||
StringBuilder sb = new StringBuilder("/").append(randomDirName).append(File.separator).append(item.getName()).append(".zip");
|
||||
String fileNameAndPath = sb.toString();
|
||||
String toReturn = copyFileOnStorageVolatile(tmpZip, fileNameAndPath);
|
||||
_log.info("Deleting tmp zip: " + tmpZip.getAbsolutePath());
|
||||
tmpZip.delete();
|
||||
return toReturn;
|
||||
} catch (Exception e) {
|
||||
_log.error("Error during folder compression "+itemId,e);
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_DURING_COMPRESSION);
|
||||
}
|
||||
}
|
||||
default:
|
||||
_log.error("Error during folder compression "+itemId);
|
||||
peer.getAsyncRemote().sendText(ConstantsExplorer.DOWNLOAD_WORKSPACE_FOLDER_PROTOCOL_ERROR_NOT_A_FOLDER);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@SuppressWarnings("resource")
|
||||
private String copyFileOnStorageVolatile(File source, String fileNameAndPath) throws IOException {
|
||||
String path = fileNameAndPath;
|
||||
_log.info("DownloadFolder Starting copy file on storage volatile: " + path);
|
||||
IClient client=new StorageClient("PortletUser", "Workspace", "downloadFolder", AccessType.SHARED, MemoryType.VOLATILE).getClient();
|
||||
String id = client.put(true).LFile(source.getAbsolutePath()).RFile(path);
|
||||
_log.debug("DownloadFolder Copy file on storage volatile id returned: " + id);
|
||||
String httpUrl = client.getHttpUrl().RFile(path);
|
||||
_log.info("DownloadFolder Copy file on storage volatile is finished, generated http url: " + httpUrl);
|
||||
return httpUrl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -4,7 +4,6 @@
|
|||
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
||||
version="3.0">
|
||||
|
||||
|
||||
<!-- Default page to serve -->
|
||||
<welcome-file-list>
|
||||
<welcome-file>WorkspacePortlet.html</welcome-file>
|
||||
|
@ -15,26 +14,11 @@
|
|||
<servlet-class>org.gcube.portlets.widgets.workspacesharingwidget.server.WorkspaceSharingServiceImpl</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- <servlet> -->
|
||||
<!-- <servlet-name>UploadService</servlet-name> -->
|
||||
<!-- <servlet-class>org.gcube.portlets.user.workspace.server.UploadServlet</servlet-class> -->
|
||||
<!-- </servlet> -->
|
||||
|
||||
<!-- <servlet> -->
|
||||
<!-- <servlet-name>LocalUploadService</servlet-name> -->
|
||||
<!-- <servlet-class>org.gcube.portlets.user.workspace.server.LocalUploadServlet</servlet-class> -->
|
||||
<!-- </servlet> -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>DownloadService</servlet-name>
|
||||
<servlet-class>org.gcube.portlets.user.workspace.server.DownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- <servlet> -->
|
||||
<!-- <servlet-name>DownloadFolderServlet</servlet-name> -->
|
||||
<!-- <servlet-class>org.gcube.portlets.user.workspace.server.DownloadFolderServlet</servlet-class> -->
|
||||
<!-- </servlet> -->
|
||||
|
||||
<!-- Servlets -->
|
||||
<servlet>
|
||||
<servlet-name>WorkspaceService</servlet-name>
|
||||
|
@ -163,33 +147,16 @@
|
|||
<url-pattern>/workspace/checksession</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>LocalUploadService</servlet-name> -->
|
||||
<!-- <url-pattern>/workspace/LocalUploadService</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>DownloadService</servlet-name>
|
||||
<url-pattern>/workspace/DownloadService</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>DownloadFolderServlet</servlet-name> -->
|
||||
<!-- <url-pattern>/workspace/DownloadFolderServlet</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>UploadService</servlet-name> -->
|
||||
<!-- <url-pattern>/workspace/UploadService</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>workspacesharing</servlet-name>
|
||||
<url-pattern>/workspace/workspacesharing</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>jUnitHostImpl</servlet-name>
|
||||
<url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/junithost/*</url-pattern>
|
||||
|
@ -204,24 +171,9 @@
|
|||
<url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/DownloadService</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>WorkspaceService</servlet-name> -->
|
||||
<!-- <url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/WorkspaceService</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ImageService</servlet-name>
|
||||
<url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/ImageService</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>UploadService</servlet-name> -->
|
||||
<!-- <url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/UploadService</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
|
||||
|
||||
<!-- <servlet-mapping> -->
|
||||
<!-- <servlet-name>quicktourServlet</servlet-name> -->
|
||||
<!-- <url-pattern>/workspace/quicktourServlet</url-pattern> -->
|
||||
<!-- </servlet-mapping> -->
|
||||
</web-app>
|
||||
|
|
Loading…
Reference in New Issue