fixed bug after folder sharing

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@100019 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2014-09-18 13:30:38 +00:00
parent 5ae18a70df
commit fb62ee2ad0
3 changed files with 39 additions and 46 deletions

View File

@ -25,5 +25,8 @@
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/log4j-1.2.17.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.6.4.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.6.4.jar"/>
<classpathentry kind="output" path="target/workspace-6.6.7-SNAPSHOT/WEB-INF/classes"/>
</classpath>

View File

@ -5,6 +5,12 @@
<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.6.7-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/WorkspaceTree/WorkspaceTree">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="workspace-sharing-widget-1.2.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/workspace-sharing-widget/workspace-sharing-widget">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
<property name="context-root" value="workspace"/>

View File

@ -85,14 +85,11 @@ import org.gcube.portlets.user.workspace.client.event.VRESettingPermissionEvent;
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEvent;
import org.gcube.portlets.user.workspace.client.event.WebDavUrlEventHandler;
import org.gcube.portlets.user.workspace.client.interfaces.EventsTypeEnum;
import org.gcube.portlets.user.workspace.client.interfaces.GXTFolderItemTypeEnum;
import org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface;
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.FolderModel;
import org.gcube.portlets.user.workspace.client.model.ScopeModel;
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService;
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceServiceAsync;
import org.gcube.portlets.user.workspace.client.view.WorskpacePortlet;
import org.gcube.portlets.user.workspace.client.view.panels.GxtBorderLayoutPanel;
import org.gcube.portlets.user.workspace.client.view.panels.GxtItemsPanel;
@ -102,10 +99,6 @@ import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfo;
import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay;
import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert;
import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxConfirm;
import org.gcube.portlets.user.workspace.client.view.windows.WindowOpenUrl;
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
import org.gcube.portlets.user.workspace.client.workspace.folder.item.GWTExternalUrl;
import org.gcube.portlets.user.workspace.client.workspace.folder.item.gcube.GWTUrlDocument;
import org.gcube.portlets.user.workspace.shared.ExtendedWorkspaceACL;
import org.gcube.portlets.user.workspace.shared.SessionExpiredException;
import org.gcube.portlets.user.workspace.shared.TrashContent;
@ -905,7 +898,7 @@ public class AppController implements SubscriberInterface {
}
wsPortlet.getGridGroupContainer().unmask();
System.out.println("target: "+target);
GWT.log("target: "+target);
if(wsPortlet.getSearchAndFilterContainer().isSearchActive()){
appContrExplorer.refreshRoot(false);
@ -1025,10 +1018,7 @@ public class AppController implements SubscriberInterface {
if(isLastParent && item.isDirectory()){
result.add(item);
}
updateBreadcrumb(result); //Set file path in tab panel on current item selected
}
});
@ -1311,13 +1301,8 @@ public class AppController implements SubscriberInterface {
//CREATE FOLDER PARENT FOR RPC
final FileModel parent = new FolderModel(folder.getIdentifier(), folder.getName(), folder.getParentFileModel(), true, folder.isShared(), folder.isVreFolder());
wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
// System.out.println("In client new RPC getFolderChildrenForFileGrid "+parent.getName());
//
// System.out.println(parent);
appContrExplorer.getRpcWorkspaceService().getFolderChildrenForFileGrid(parent, new AsyncCallback<List<FileGridModel>>() {
@Override
@ -1330,8 +1315,6 @@ public class AppController implements SubscriberInterface {
}
new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR + " getting items for grid. " +ConstantsExplorer.TRY_AGAIN, null);
// System.out.println(caught);
// caught.printStackTrace();
wsPortlet.getGridGroupContainer().unmask();
}
@ -1348,7 +1331,6 @@ public class AppController implements SubscriberInterface {
}
public FileModel getSelectedFolder(){
return this.appContrExplorer.getSelectedFolderInTree();
}
@ -1542,58 +1524,51 @@ public class AppController implements SubscriberInterface {
}
@Override
public void refreshFolder(FileModel folderTarget, boolean forceRefresh) {
public void refreshFolder(FileModel folderTarget, boolean forceRefreshContent, boolean forceRefreshBreadcrumb){
resetSmartFolderSelected();
GWT.log("refreshFolder method, forceRefresh is :" +forceRefresh);
GWT.log("refreshFolder method..");
if(folderTarget!=null){
if(forceRefresh){
GWT.log("folder target is: "+ folderTarget.getName() + ", forceRefresh is :" +forceRefreshContent);
if(forceRefreshContent){
//FORCED REFRESH FOLDER
FileGridModel folder = wsPortlet.getGridGroupContainer().getFileGridModelByIdentifier(folderTarget.getIdentifier());
GWT.log("force refresh, folder :" +folder);
updateStoreByRpc(folderTarget);
if(forceRefreshBreadcrumb){
GWT.log("forcing reload breadcrumb for: "+folderTarget);
loadBreadcrumbByFileModel(folderTarget, true);
}
return;
}
FileModel filePath = wsPortlet.getToolBarPath().getLastParent();
if(filePath!=null){
//REFRESH FOLDER ONLY IF IS THE LAST ITEM OF BREADCRUMB
if(folderTarget.getIdentifier().compareToIgnoreCase(filePath.getIdentifier())==0){
FileGridModel folder = wsPortlet.getGridGroupContainer().getFileGridModelByIdentifier(folderTarget.getIdentifier());
GWT.log("refresh folder :" +folder);
GWT.log("refresh folder is same LAST ITEM OF BREADCRUMB:" +folder);
updateStoreByRpc(folderTarget);
return;
}
}
GWT.log("folderTarget is not same folder path, refresh skypped");
GWT.log("folderTarget is not egual to last parent of the breadrcrumb, refresh folder skypped");
if(forceRefreshBreadcrumb){
GWT.log("forcing reload breadcrumb for: "+folderTarget);
loadBreadcrumbByFileModel(folderTarget, true);
}
}
else
GWT.log("folderTarget is null, refresh skypped");
}
// @Override
// public void updatePrevieMessage(String fromLogin, String subject,
// String date, String body, List<FileModel> attachs) {
// wsPortlet.getMessagesPanelContainer().setBodyValue(subject, body);
// wsPortlet.getMessagesPanelContainer().setFromTitle(fromLogin, date);
// wsPortlet.getMessagesPanelContainer().setAttachs(attachs);
//
// }
@Override
public void createNewMessage(final HashMap<String, String> hashAttachs) {
GWT.runAsync(MailForm.class, new RunAsyncCallback() {
@ -1809,4 +1784,13 @@ public class AppController implements SubscriberInterface {
executeTrashOperation(trashOperation, targetFileModels);
}
/* (non-Javadoc)
* @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#changedFileModelId(java.lang.String, java.lang.String)
*/
@Override
public void changedFileModelId(String oldId, String newId) {
}
}