From eee732d59e907f24179c970b9148184b923825ac Mon Sep 17 00:00:00 2001 From: Christos Stathis Date: Fri, 19 Aug 2011 18:55:32 +0300 Subject: [PATCH] Preliminary impl of others shared --- .../src/gr/grnet/pithos/web/client/Pithos.java | 29 ++ .../gr/grnet/pithos/web/client/SharingUsers.java | 45 +++ .../pithos/web/client/foldertree/Resource.java | 6 + .../othersharedtree/OtherSharedTreeView.java | 150 +++++++++ .../othersharedtree/OtherSharedTreeViewModel.java | 324 ++++++++++++++++++++ .../gr/grnet/pithos/web/client/Pithos$1.class | Bin 766 -> 766 bytes .../gr/grnet/pithos/web/client/Pithos$10.class | Bin 1815 -> 2922 bytes .../gr/grnet/pithos/web/client/Pithos$11.class | Bin 2226 -> 1815 bytes .../gr/grnet/pithos/web/client/Pithos$12.class | Bin 1934 -> 2226 bytes .../gr/grnet/pithos/web/client/Pithos$13.class | Bin 2625 -> 1934 bytes .../gr/grnet/pithos/web/client/Pithos$14.class | Bin 2157 -> 2625 bytes .../gr/grnet/pithos/web/client/Pithos$15.class | Bin 2058 -> 2157 bytes .../gr/grnet/pithos/web/client/Pithos$16.class | Bin 3051 -> 2058 bytes .../gr/grnet/pithos/web/client/Pithos$17$1$1.class | Bin 0 -> 842 bytes .../gr/grnet/pithos/web/client/Pithos$17$1.class | Bin 0 -> 2102 bytes .../gr/grnet/pithos/web/client/Pithos$17.class | Bin 0 -> 3051 bytes .../gr/grnet/pithos/web/client/Pithos$2.class | Bin 1448 -> 1448 bytes .../gr/grnet/pithos/web/client/Pithos$3.class | Bin 1385 -> 1385 bytes .../gr/grnet/pithos/web/client/Pithos$4.class | Bin 1425 -> 1390 bytes .../gr/grnet/pithos/web/client/Pithos$5.class | Bin 1262 -> 1425 bytes .../gr/grnet/pithos/web/client/Pithos$6.class | Bin 879 -> 1262 bytes .../gr/grnet/pithos/web/client/Pithos$7.class | Bin 761 -> 879 bytes .../gr/grnet/pithos/web/client/Pithos$8.class | Bin 2592 -> 761 bytes .../gr/grnet/pithos/web/client/Pithos$9.class | Bin 2919 -> 2592 bytes .../gr/grnet/pithos/web/client/Pithos.class | Bin 25555 -> 26568 bytes .../gr/grnet/pithos/web/client/SharingUsers.class | Bin 0 -> 2138 bytes .../pithos/web/client/foldertree/Resource.class | Bin 3783 -> 3992 bytes .../OtherSharedTreeView$BasicResources.class | Bin 0 -> 1195 bytes .../OtherSharedTreeView$Images.class | Bin 0 -> 1287 bytes .../OtherSharedTreeView$Templates.class | Bin 0 -> 882 bytes .../othersharedtree/OtherSharedTreeView.class | Bin 0 -> 3741 bytes .../OtherSharedTreeViewModel$1.class | Bin 0 -> 5318 bytes .../OtherSharedTreeViewModel$2.class | Bin 0 -> 1735 bytes .../OtherSharedTreeViewModel$3.class | Bin 0 -> 2955 bytes .../OtherSharedTreeViewModel$4.class | Bin 0 -> 1735 bytes .../OtherSharedTreeViewModel$5.class | Bin 0 -> 2955 bytes .../OtherSharedTreeViewModel$6.class | Bin 0 -> 2882 bytes .../OtherSharedTreeViewModel$7$1.class | Bin 0 -> 1475 bytes .../OtherSharedTreeViewModel$7.class | Bin 0 -> 3417 bytes .../OtherSharedTreeViewModel$8.class | Bin 0 -> 2873 bytes .../OtherSharedTreeViewModel$9$1.class | Bin 0 -> 2108 bytes .../OtherSharedTreeViewModel$9.class | Bin 0 -> 3880 bytes .../othersharedtree/OtherSharedTreeViewModel.class | Bin 0 -> 10621 bytes 43 files changed, 554 insertions(+) create mode 100644 web_client/src/gr/grnet/pithos/web/client/SharingUsers.java create mode 100644 web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView.java create mode 100644 web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17$1$1.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17$1.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/SharingUsers.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$BasicResources.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Images.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Templates.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$1.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$2.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$3.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$4.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$5.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$6.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7$1.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$8.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$9$1.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$9.class create mode 100644 web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.class diff --git a/web_client/src/gr/grnet/pithos/web/client/Pithos.java b/web_client/src/gr/grnet/pithos/web/client/Pithos.java index ad5be52..daf4d09 100644 --- a/web_client/src/gr/grnet/pithos/web/client/Pithos.java +++ b/web_client/src/gr/grnet/pithos/web/client/Pithos.java @@ -70,6 +70,8 @@ import gr.grnet.pithos.web.client.foldertree.FolderTreeViewModel; import gr.grnet.pithos.web.client.foldertree.Resource; import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeView; import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeViewModel; +import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeView; +import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeViewModel; import gr.grnet.pithos.web.client.rest.DeleteRequest; import gr.grnet.pithos.web.client.rest.GetRequest; import gr.grnet.pithos.web.client.rest.PutRequest; @@ -140,6 +142,10 @@ public class Pithos implements EntryPoint, ResizeHandler { mysharedTreeView.updateFolder(f, showfiles); } + public void updateOtherSharedFolder(Folder f, boolean showfiles) { + otherSharedTreeView.updateFolder(f, showfiles); + } + public void updateTag(Tag t) { tagTreeView.updateTag(t); } @@ -243,6 +249,10 @@ public class Pithos implements EntryPoint, ResizeHandler { private MysharedTreeViewModel mysharedTreeViewModel; private MysharedTreeView mysharedTreeView; + private SingleSelectionModel otherSharedTreeSelectionModel; + private OtherSharedTreeViewModel otherSharedTreeViewModel; + private OtherSharedTreeView otherSharedTreeView; + private SingleSelectionModel tagTreeSelectionModel; private TagTreeViewModel tagTreeViewModel; private TagTreeView tagTreeView; @@ -329,6 +339,20 @@ public class Pithos implements EntryPoint, ResizeHandler { mysharedTreeViewModel = new MysharedTreeViewModel(this, mysharedTreeSelectionModel); mysharedTreeView = new MysharedTreeView(mysharedTreeViewModel); + otherSharedTreeSelectionModel = new SingleSelectionModel(); + otherSharedTreeSelectionModel.addSelectionChangeHandler(new Handler() { + @Override + public void onSelectionChange(SelectionChangeEvent event) { + if (otherSharedTreeSelectionModel.getSelectedObject() != null) { + deselectOthers(otherSharedTreeSelectionModel); + updateOtherSharedFolder(otherSharedTreeSelectionModel.getSelectedObject(), true); + } + } + }); + selectionModels.add(otherSharedTreeSelectionModel); + otherSharedTreeViewModel = new OtherSharedTreeViewModel(this, otherSharedTreeSelectionModel); + otherSharedTreeView = new OtherSharedTreeView(otherSharedTreeViewModel); + tagTreeSelectionModel = new SingleSelectionModel(); tagTreeSelectionModel.addSelectionChangeHandler(new Handler() { @Override @@ -362,6 +386,7 @@ public class Pithos implements EntryPoint, ResizeHandler { trees.add(folderTreeView); trees.add(mysharedTreeView); + trees.add(otherSharedTreeView); // trees.add(tagTreeView); // Add the left and right panels to the split panel. splitPanel.setLeftWidget(trees); @@ -852,4 +877,8 @@ public class Pithos implements EntryPoint, ResizeHandler { public void addSelectionModel(SingleSelectionModel model) { selectionModels.add(model); } + + public OtherSharedTreeView getOtherSharedTreeView() { + return otherSharedTreeView; + } } diff --git a/web_client/src/gr/grnet/pithos/web/client/SharingUsers.java b/web_client/src/gr/grnet/pithos/web/client/SharingUsers.java new file mode 100644 index 0000000..4db725c --- /dev/null +++ b/web_client/src/gr/grnet/pithos/web/client/SharingUsers.java @@ -0,0 +1,45 @@ +package gr.grnet.pithos.web.client; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import com.google.gwt.http.client.Response; +import com.google.gwt.json.client.JSONArray; +import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONParser; +import com.google.gwt.json.client.JSONValue; + +import gr.grnet.pithos.web.client.foldertree.Resource; + +public class SharingUsers extends Resource { + private List users; + + public static SharingUsers createFromResponse(Response response, SharingUsers result) { + SharingUsers u; + if (result == null) + u = new SharingUsers(); + else + u = result; + u.populate(response); + return u; + } + + private void populate(Response response) { + users = new ArrayList(); + JSONValue json = JSONParser.parseStrict(response.getText()); + JSONArray array = json.isArray(); + if (array != null) { + for (int i=0; i getUsers() { + return users; + } +} diff --git a/web_client/src/gr/grnet/pithos/web/client/foldertree/Resource.java b/web_client/src/gr/grnet/pithos/web/client/foldertree/Resource.java index 84a46e0..2805434 100644 --- a/web_client/src/gr/grnet/pithos/web/client/foldertree/Resource.java +++ b/web_client/src/gr/grnet/pithos/web/client/foldertree/Resource.java @@ -40,6 +40,9 @@ import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.json.client.JSONNumber; import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONString; + +import gr.grnet.pithos.web.client.SharingUsers; + import java.util.Date; public class Resource { @@ -99,6 +102,9 @@ public class Resource { else if (aClass.equals(File.class)) { result = (T) File.createFromResponse(owner, response, (File) result); } + else if (aClass.equals(SharingUsers.class)) { + result = (T) SharingUsers.createFromResponse(response, (SharingUsers) result); + } return result; } } diff --git a/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView.java b/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView.java new file mode 100644 index 0000000..8d97029 --- /dev/null +++ b/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView.java @@ -0,0 +1,150 @@ +/* + * Copyright 2011 GRNET S.A. All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * 1. Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and + * documentation are those of the authors and should not be + * interpreted as representing official policies, either expressed + * or implied, of GRNET S.A. + */ + +package gr.grnet.pithos.web.client.othersharedtree; + +import gr.grnet.pithos.web.client.FolderContextMenu; +import gr.grnet.pithos.web.client.foldertree.Folder; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.resources.client.ImageResource.ImageOptions; +import com.google.gwt.safehtml.client.SafeHtmlTemplates; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.user.cellview.client.CellTree; +import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy; +import com.google.gwt.user.cellview.client.TreeNode; +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.Tree; + +public class OtherSharedTreeView extends Composite { + + public void updateChildren(Folder folder) { + TreeNode root = ((CellTree) getWidget()).getRootTreeNode(); + updateChildren(root, folder); + } + + private void updateChildren(TreeNode node, Folder folder) { + for (int i=0; i{0}") + public SafeHtml nameSpan(String name); + } + + private OtherSharedTreeViewModel model; + + public OtherSharedTreeView(OtherSharedTreeViewModel viewModel) { + this.model = viewModel; + /* + * Create the tree using the model. We use null as the default + * value of the root node. The default value will be passed to + * CustomTreeModel#getNodeInfo(); + */ + CellTree.Resources res = GWT.create(BasicResources.class); + CellTree tree = new CellTree(model, null, res); + tree.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); + + initWidget(tree); + } + + + public Folder getSelection() { + return model.getSelection(); + } + + public void updateFolder(Folder folder, boolean showfiles) { + model.updateFolder(folder, showfiles); + } +} diff --git a/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java b/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java new file mode 100644 index 0000000..9625491 --- /dev/null +++ b/web_client/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java @@ -0,0 +1,324 @@ +/* + * Copyright 2011 GRNET S.A. All rights reserved. + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * 1. Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and + * documentation are those of the authors and should not be + * interpreted as representing official policies, either expressed + * or implied, of GRNET S.A. + */ + +package gr.grnet.pithos.web.client.othersharedtree; + +import gr.grnet.pithos.web.client.FolderContextMenu; +import gr.grnet.pithos.web.client.Pithos; +import gr.grnet.pithos.web.client.SharingUsers; +import gr.grnet.pithos.web.client.foldertree.Folder; +import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeView; +import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeView.Templates; +import gr.grnet.pithos.web.client.rest.GetRequest; +import gr.grnet.pithos.web.client.rest.RestException; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import com.google.gwt.cell.client.AbstractCell; +import com.google.gwt.cell.client.Cell; +import com.google.gwt.cell.client.TextCell; +import com.google.gwt.cell.client.ValueUpdater; +import com.google.gwt.core.client.GWT; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.event.dom.client.ContextMenuEvent; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; +import com.google.gwt.text.shared.SafeHtmlRenderer; +import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.ui.AbstractImagePrototype; +import com.google.gwt.view.client.ListDataProvider; +import com.google.gwt.view.client.SelectionChangeEvent; +import com.google.gwt.view.client.SelectionChangeEvent.Handler; +import com.google.gwt.view.client.SingleSelectionModel; +import com.google.gwt.view.client.TreeViewModel; + +public class OtherSharedTreeViewModel implements TreeViewModel { + + protected Pithos app; + + private Cell folderCell = new AbstractCell(ContextMenuEvent.getType().getName()) { + + @Override + public void render(Context context, Folder folder, SafeHtmlBuilder safeHtmlBuilder) { + String html = AbstractImagePrototype.create(OtherSharedTreeView.images.folderYellow()).getHTML(); + safeHtmlBuilder.appendHtmlConstant(html); + safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(folder.getName())); + } + + @Override + public void onBrowserEvent(Context context, com.google.gwt.dom.client.Element parent, Folder folder, com.google.gwt.dom.client.NativeEvent event, ValueUpdater valueUpdater) { + if (event.getType().equals(ContextMenuEvent.getType().getName())) { + OtherSharedTreeViewModel.this.selectionModel.setSelected(folder, true); + FolderContextMenu menu = new FolderContextMenu(app, OtherSharedTreeView.images, folder); + menu.setPopupPosition(event.getClientX(), event.getClientY()); + menu.show(); + } + } + }; + + private ListDataProvider rootDataProvider = new ListDataProvider(); + private ListDataProvider firstLevelDataProvider = new ListDataProvider(); + + private Map> userDataProviderMap = new HashMap>(); + private Map> dataProviderMap = new HashMap>(); + + private SingleSelectionModel selectionModel; + + public OtherSharedTreeViewModel(Pithos _app, SingleSelectionModel selectionModel) { + app = _app; + this.selectionModel = selectionModel; + } + + @Override + public NodeInfo getNodeInfo(T value) { + if (value == null) { + rootDataProvider.getList().add("Other 's Shared"); + final SingleSelectionModel selectionModel2 = new SingleSelectionModel(); + selectionModel2.addSelectionChangeHandler(new Handler() { + + @Override + public void onSelectionChange(SelectionChangeEvent event) { + if (selectionModel2.getSelectedObject() != null) { + app.deselectOthers(selectionModel2); + } + } + }); + app.addSelectionModel(selectionModel2); + return new DefaultNodeInfo(rootDataProvider, new TextCell(new SafeHtmlRenderer() { + @Override + public SafeHtml render(String object) { + SafeHtmlBuilder builder = new SafeHtmlBuilder(); + render(object, builder); + return builder.toSafeHtml(); + } + + @Override + public void render(String object, SafeHtmlBuilder builder) { + String html = AbstractImagePrototype.create(OtherSharedTreeView.images.othersShared()).getHTML(); + builder.appendHtmlConstant(html); + builder.append(OtherSharedTreeView.Templates.INSTANCE.nameSpan(object)); + } + }), selectionModel2, null); + } + else if (value instanceof String) { + if (value.equals("Other 's Shared")) { + fetchSharingUsers(firstLevelDataProvider); + final SingleSelectionModel selectionModel3 = new SingleSelectionModel(); + selectionModel3.addSelectionChangeHandler(new Handler() { + + @Override + public void onSelectionChange(SelectionChangeEvent event) { + if (selectionModel3.getSelectedObject() != null) { + app.deselectOthers(selectionModel3); + } + } + }); + app.addSelectionModel(selectionModel3); + return new DefaultNodeInfo(firstLevelDataProvider, new TextCell(new SafeHtmlRenderer() { + + @Override + public SafeHtml render(String object) { + SafeHtmlBuilder builder = new SafeHtmlBuilder(); + render(object, builder); + return builder.toSafeHtml(); + } + + @Override + public void render(String object, SafeHtmlBuilder builder) { + String html = AbstractImagePrototype.create(OtherSharedTreeView.images.folderYellow()).getHTML(); + builder.appendHtmlConstant(html); + builder.append(OtherSharedTreeView.Templates.INSTANCE.nameSpan(object)); + } + }), selectionModel3, null); + } + else { + return new DefaultNodeInfo(new ListDataProvider(), folderCell, selectionModel, null); + } + } + else { + final Folder f = (Folder) value; + if (dataProviderMap.get(f) == null) { + dataProviderMap.put(f, new ListDataProvider()); + } + final ListDataProvider dataProvider = dataProviderMap.get(f); + fetchFolder(f, dataProvider, false); + return new DefaultNodeInfo(dataProvider, folderCell, selectionModel, null); + } + } + + private void fetchSharingUsers(final ListDataProvider dataProvider) { + GetRequest getSharingUsers = new GetRequest(SharingUsers.class, app.getApiPath(), "", "?format=json") { + @Override + public void onSuccess(final SharingUsers result) { + dataProvider.getList().clear(); + dataProvider.getList().addAll(result.getUsers()); +// Iterator iter = result.getSubfolders().iterator(); +// fetchFolder(iter, new Command() { +// @Override +// public void execute() { +// dataProvider.getList().clear(); +// dataProvider.getList().addAll(result.getSubfolders()); +// } +// }); + } + + @Override + public void onError(Throwable t) { + GWT.log("Error getting folder", t); + if (t instanceof RestException) + app.displayError("Error getting folder: " + ((RestException) t).getHttpStatusText()); + else + app.displayError("System error fetching folder: " + t.getMessage()); + } + }; + getSharingUsers.setHeader("X-Auth-Token", app.getToken()); + Scheduler.get().scheduleDeferred(getSharingUsers); + } + + private void fetchSharedFolders(final ListDataProvider dataProvider) { + Folder pithos = new Folder(Pithos.HOME_CONTAINER); + pithos.setContainer(Pithos.HOME_CONTAINER); + String path = "/" + pithos.getContainer() + "?format=json&shared="; + GetRequest getFolder = new GetRequest(Folder.class, app.getApiPath(), app.getUsername(), path, pithos) { + @Override + public void onSuccess(final Folder result) { +// if (showfiles) +// app.showFiles(result); + Iterator iter = result.getSubfolders().iterator(); + fetchFolder(iter, new Command() { + @Override + public void execute() { + dataProvider.getList().clear(); + dataProvider.getList().addAll(result.getSubfolders()); +// app.getMySharedTreeView().updateChildren(f); + } + }); + } + + @Override + public void onError(Throwable t) { + GWT.log("Error getting folder", t); + if (t instanceof RestException) + app.displayError("Error getting folder: " + ((RestException) t).getHttpStatusText()); + else + app.displayError("System error fetching folder: " + t.getMessage()); + } + }; + getFolder.setHeader("X-Auth-Token", app.getToken()); + Scheduler.get().scheduleDeferred(getFolder); + } + + @Override + public boolean isLeaf(Object o) { + if (o instanceof Folder) { + Folder f = (Folder) o; + return f.getSubfolders().isEmpty(); + } + return false; + } + + protected void fetchFolder(final Iterator iter, final Command callback) { + if (iter.hasNext()) { + final Folder f = iter.next(); + + String path = "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + f.getPrefix(); + GetRequest getFolder = new GetRequest(Folder.class, app.getApiPath(), app.getUsername(), path, f) { + @Override + public void onSuccess(Folder result) { + fetchFolder(iter, callback); + } + + @Override + public void onError(Throwable t) { + GWT.log("Error getting folder", t); + if (t instanceof RestException) + app.displayError("Error getting folder: " + ((RestException) t).getHttpStatusText()); + else + app.displayError("System error fetching folder: " + t.getMessage()); + } + }; + getFolder.setHeader("X-Auth-Token", app.getToken()); + Scheduler.get().scheduleDeferred(getFolder); + } + else if (callback != null) + callback.execute(); + } + + public Folder getSelection() { + return selectionModel.getSelectedObject(); + } + + public void updateFolder(Folder folder, boolean showfiles) { + if (dataProviderMap.get(folder) == null) { + dataProviderMap.put(folder, new ListDataProvider()); + } + final ListDataProvider dataProvider = dataProviderMap.get(folder); + fetchFolder(folder, dataProvider, showfiles); + } + + public void fetchFolder(final Folder f, final ListDataProvider dataProvider, final boolean showfiles) { + String path = "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + f.getPrefix(); + GetRequest getFolder = new GetRequest(Folder.class, app.getApiPath(), app.getUsername(), path, f) { + @Override + public void onSuccess(final Folder result) { + if (showfiles) + app.showFiles(result); + Iterator iter = result.getSubfolders().iterator(); + fetchFolder(iter, new Command() { + @Override + public void execute() { + dataProvider.getList().clear(); + dataProvider.getList().addAll(result.getSubfolders()); + app.getOtherSharedTreeView().updateChildren(f); + } + }); + } + + @Override + public void onError(Throwable t) { + GWT.log("Error getting folder", t); + if (t instanceof RestException) + app.displayError("Error getting folder: " + ((RestException) t).getHttpStatusText()); + else + app.displayError("System error fetching folder: " + t.getMessage()); + } + }; + getFolder.setHeader("X-Auth-Token", app.getToken()); + Scheduler.get().scheduleDeferred(getFolder); + } +} diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$1.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$1.class index 355d9cb4749fbf08a4cb1c431884b3f7e98ed3fe..81190ab8dba63441d858b660dc66225583e0a7ab 100644 GIT binary patch delta 19 acmeyz`j2%(3lpQtd8}N(OKM delta 19 acmeyz`j2%(3lpQ%d8|ss>yD diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$10.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$10.class index 524453fb4574ee6b9001358492ccaab04bfcb9e8..e36dafcd70f101cf1d575f5e81de3100867eab1b 100644 GIT binary patch literal 2922 zcmbtWZBr9h6n^d!*bo+oyozmUC@Cc%u85)#YKxQ?DG_TZR;#Vc<`PynyK(nMNI&;C zbjDxc=gzdzwlkgfYkyRy=Wdn|kj9KML-y>wXYYB=bIyJ4{pa7`{{(OeWfclTGVkem z&*4HZT4K-j^?kmho3_Orq2CThlG7JeL>ML-czWCy`YIQ9_|p=Z3~gf1@{<=CMmHLK zRt=CQ_XW$b#C3+kcoY5`kBw)BZW~TsU$PC~PuC4(g=abWrbbfR43Q-_$J@csp`jIR zF|?plgNiPO_3^r8-!)G6hUM^ErNR#Pwu~K{GxTh@reSXzo+aPI!HA@dVeHK$P*sSx zj-=tZPPyQgeB%1dYk-e=Ov|80)P+nPbGdZvZH8gsILdPI5b1i|N&z_wjWF-Jc8+_( z<6K`fO}FGwr}%EkGkN+trP1y>*^+5;pK_mX*Z~a|N^Qq5jD(608AjgNbQ(tR5ku4n z!X~dVJZu;^Y}L0+vWhLK;bV*)1)XDf&`i+OTSkpx91|*13|AWP@&A-+n8bO8&O8@O zt|JU;VUH@*GoGpzza%VM->`gff=Z$Oy`OO~V}K>prLEe$>?GO>(&sbnF&&?6$@CGo%uBI)(*YSMe#s zTyuP$vWSMy@IFIK>YZiS)(<2FZ6u#1n^f~^li*J7A*xYU80M3VQ4EDdb)99;b3KN$ z^)j}#=ehe*Z_=slC{`Hy1Fr;CSdeTcs2Fl{#;}HU6*n1%O}C)uT{mxYJ-;t>)Ajh_ z@vwS#OT(AgprYDto(_omNU!T~eQXuC7^WJK7#t|15n}nkwJT;g3L=2lCq$<9qd{4nBH)jTSHGG46B%;K{nh-@IRFwQJen55UJM8%2%n4JI z%YLij0UlBXjbf2IIm+p@_3Nav`fZ4s8fp{YYj`B%Mul6Ql)Ga`gDK%^Im<8FMmfkV z3hI@SY}psQkl?bqiCr$tJz2Pt&%H#>5Qa=Q4@<=!L+=q=HS#q)meFFAWrpa?RK=#owbSHpWjqh|w|U$Nww*HKl`3lbOY-K>>&h-8muc%#k_ znqjqeyLgwArhC~jZPzEtGMuhEIStRSPdo=ihTAF-DY_eIHyskZ;BezU5|mU6U7T1v zE^i8CMd)8el*Zf1ItWMO6O+FpHgSGxC^FRg657u+*Me^PjX|MbhE}B&ak4Jc7a;2l zdgv*wUi1Y%ar9##h!)2nSu#=_XUS^C5ZM~7QuRMa{!B6*qWF>CWt7>8Ul5yog%9NO z6-F!gs@Bz-OZo__j07c$sM3yeN(@Pb^jhf(a1T@?)Ns$@b1YK) z8x%JJB^f7s315VWev)G}v(~drcvdI>M&>z2Wz0XYd9UZIm&i{3g-iw872L1jy9$gK zRoKCNPR>`bTbn$Iu?KBRFFKVzOeq6cRR-%YuGKKE;R);`j8jALMPjWGVoZgswNDU~ r@d_LnL6kj2ISwkvji=l@SiN+lVv!P&?{!8UN&pi z7=z!eu|YUp;cQiyLA?M>5?F^HsyA)fK|2ZoVi@RZB~L&`}R z<8`0v%`j+j<_Df$mzR7zt)!6{7g9#NAtOevVg z8J-i*>}WWr;5;Vj8n&6Us}xB_6f+7gVw^$QC|X-3z3$pbn4{6=>XvPkP^sDYfV=N~TVTdU3~FH5mZ>wG0& zGA&B8WYByz6s+JTL%TaRW6>-db7sZXixs14@jicY$3w3#LIOP;p}X*+g{qoLzk{60 zXc6x&lsB{^pq0KdRS>sD@S%-RiulCFQ3R&GqoRY5qpl)M$V*+FICkJOL)B4| zc2aL4?;-M+h2V!M$gV~B5Ao1K!g0i@o&F{C9mqW;c}H$B*q`3RK>9P%&(ZHl??YP) zj_e|v{)BWBC!09k#Mve;yh6-5pL7Yc4xx!lho?>)k9*^=GY>(9PiRFzXoDsMu^@!_ lSGjZi3a(OsYs4jcEkYgF2@6=lvbz_>4csCmyKxBszX4qptiu2R diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$11.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$11.class index 3abe1bbc780bc63520ef950ed868f24139aa0680..89b5daffddf37ea919af4bed1a641aae5e6507f5 100644 GIT binary patch literal 1815 zcma)6TXWM!6#iB=k)tRf7?KcLzz_qz#E68J7DBm&5CaaEI1{Fwz9{lm5y)CsS~cX4 zbf&+c&z)%vQ)ZaT=q(lK^MVF7>bbLXn*@QwnMR_fTt=l$TLhO zRyil+wj{pfI$Sq!76l#W7*05%X}LnUKDXQ*X*nX~@26n($%cs{N(?DqxHJd-kp}tK zA6v&fLuCkf$=nd+a^<eJQnu>SmT|PfpHl;l6pDi!Q*JMtxB@k%cB{pM2Gz8e|ADvNte2FF zA52_RaWhhMFjMThVdADr*KBxE%eQxv$}(7{wN&4YByZ-p>Td3{6|Z1b#~p^l9{}s& zZ=$LK8dT^S&4BIFSTd?|sxQx;F%>sXP&m)l>{fSLje0T&cRV%EV;#btS8-_GR|3Zu z5ix0v)6#61c!bAjf6d|DoK*H*I|1#?>~i|B2(h@3++VHg5Mm zs%%n8z0(Q}?Hoq50>-r>Dq0z<+I(MT)m~;*+{Hc0=svxsd@8f#qeilZH9Sak$M6vA LBpGDI=%n8}i%8i; literal 2226 zcmb7F{cqb;6g|&L>o)ahmbI)~*p{(uBw1Ux0|qo*Ve1EEq#raPY`_4=d8F=KJJ>Jn z`qzN?l#m8O+A;(ZKO)2*g}Bf5Qq)$-h~)VB`QCfZyZ7AdzyJB|4*=I-s!$lRO;2xn z4i|dM5?ijX@A0~B+7@?&z7gzXXJ=K!8Is$^uA$q8)701N+uRf?1{n&byQ4Q^?cYuMS(UAw_OhUs1|p^@-7 z*H;32@*bSG97`-PRCB#t!$TH(nH-ItuQ9|I-3A{9!>9%oLvnRe!!QyF#BfT(2*wy< zIcYjtwj93J-l=o1YSeAckSe>TVb=`LlF!j*T&9QNN-r+mn$QVTuCvMgmh1R@lbhVy z8b3avMoIuF)3Nq3!9g+aMk8lQHAm~VSR&?@+~Hm?~qo$M@IPpy7FUyzYt$ z25(@F*rsp}Ma)yo39`C@1>%*)7~aHNl#rVN8q>+;78WDw_sB%%B`vA_j-|V)l_z+I z*uUGsMhDdnJ~)&Sp_1^4g?-Qy&$Pf@2;g5YH~ G>Gv;%6I~bp diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$12.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$12.class index ce22c1d67c2afc4afb7efb59e87c7aeba11f8243..f8a04e5bf415857d61182cf50eb449a21b8e9b00 100644 GIT binary patch literal 2226 zcmb7Fe{g(1e=yU!9SVgRW}w4|V%U>Zhe{d zh2FBnw(INrysn$J#T}t<20Pi=ITdk+P^>e+FWn$ z3w>LN)(ihF{(YPKV#%=Wx?$dD7!=!)fjvb(=G!%C2eHHN&&ybF>+k>0!9qi%YjAbi$PDY;nKkIzHdxCb#x@ zgQ1)&_b*AYw@nzcn6D-98ZN51Ko#p5G<4ALIx-BWnp{+bA=_R?4D^PE%g8dQ z^uEd;2!^p-zI>>vitsF_Sxn$6aw^_rxN-z@$9J6<+PYoYSl=`}pL-heC@_q)-7cF-5)62S2dapo0{xTK-MXGY%MXbf`X#fh7UW;cXRf zFOD{)EN>=s4=A|qgbvmKNNsL2YBt@!QZ;wb_ z)IqWUQty4z71o7ezz8$k*CEU=1GDHVks?Ws=KVFJ6*ZdbIxC*%(o|V^xo$ZWX?5Fk z_hrvgcc@rlID7am6!5LKB`4MpKBA*l4t&9PGhCu&+KzP02saa!F%wp3K9j&QN^)Y{ zW*9$7xzvbdtgBdKICF^C<)UFjHdcZfYmNK9(d07Xry90Up+RW0THK-0Fm+PsV|^0w zCwVU8GYvHvc}Te7;iP8oXt*nxY7NV8*~USX%3=P%^Yhf|$l_J1l~N?9v84)>O9!}qz549)2n zT?0^(NjbQIWJ->0`Y6We8i7V{PtocIlwfDHaP1LZDNH^>vhWzGpXil>ar#ft9b}wP zp5RqlNk?E5XE71%pTqem)Q^Z`koIOKJ4m0#^B<6-)uku6vOd+pwfT7L`oOvPpGXxR z64FB?$LXIN2xR~lpZ03T99ZU$&fCzo4Tim2Zs6PcH^r1liccT=m6@iDRg zq=U^4svUfOBqPdSIIlbp7-d4&E~9jpQ5s+1%OJsDQE&zK@HO4zB(HB!r&WUBWj5*e EFJ$sw6aWAK literal 1934 zcmb7FZFAE`5PnWkti%zJn#2%jsoc6WQ6M6r<;}blLPA5GgvOcBe&|dU`B0QmbU~8I zXPJ^&y3qdMKSjWKb?q#y2XPqVwv?(MUyfByaRC4d>M8qfrae(d;hBvWTQ zNHb6G(UT zvze&qeSQxs%S(4zj~rxf22qgS7I;413%eC=dDDI7I-wi+P9=?l$S)n~OOJQxPHN$3 zp--#{=(DOS2O;p8iGE~QI%&ed0867L29agyl!+mjS@dDd#4(%^xITWQxVy4t&=ch# zl1sI%bs4X^>!B3Lm6hj)Yi=Cyz4cLN8gLp1VO*a$ zJTgAfO*sadGck_`G$`EdZ5dT*9v+6+W!p-t#4Z+0JY>LuR5f3S$yPS8$O)L$AlVMx z-BytVRe7|-TRUhTm6Zlt=L2rKp=R?;aema4bCDOSgeKCWq;XDRnhQ}R{SzdG&{+$XJ-Lrzd#rySIeRp-j}d#! z*hk*JaB)n3fz!`PN5fg#vvh*2PicSSbCPWGK=$|o=jdeVOIoaBp+JlAEPO>v2mLcp zq@9tM=+0Vsdyjzk2zC!6`tP*o>-gpXp7si(+Uo{hzG>CQ%VQE3$R`yJQ!U@WwR{(H z&g37MW`w_R_1E0>7bs2Eal4NDb^KVzPaj~8bD-KAWVE-iw09j)g*H@yf?g(wK0Knp UHT;YfI(42bsF0Lxgh2xEABM;Q@c;k- diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$13.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$13.class index 03ca2c25b8300b69bba375d212fdda4277a5d43c..76b4a0e2ff7e7ffc11364400b6aea1ec96851f05 100644 GIT binary patch literal 1934 zcmb7F;ZqY=5dXd7$U!(2Q;5=5d(o(HC@0d^YOJjyC>lTsL-m6*9+%hSnByM3yU6fo zIRmlN&iDuPduQ4Yw*N`T-6Y0Hm=r&}_x9cF?r-<)Z}|Ip%Q0Dt~*{B$S8FlH@+07XAI~9S9)m1GD)3#GL)%Yk-yaFCXh)tf~0s=;C#7< zWfP+$kbUWf#h+DJm9fB7FO#NH8cXTSH}uK6pREG{u^=$WvKzpSL3~~Tj7>B-IuNtx{>cx(m06x(viOOc!%z! z7LFGB#F~IUtEzGk0w+!MBg4{XCJYR)G-_fHS(Z+j7=oEaAI3}^!{-7w#*Y+tSGEj# zq8vnWskXH)<5hP(lmfZ3^4xIEjRU^7KI%*ZE<}&y+eD*63>Do-MY~(7mJoMx-SK^- zGX2r*8Wmqfm73?tgfM4%ma^l;S7f4Uu_sFtYgt^xxPeOoh5rrM!~|>sv)Um3^7^Lq zi1$yAirOOYC)7DZeO3zz<7%(hJS;H*Lq&6Otf;w8cNTqhBUU?HF3NoX^y0|UZ1~#1 zjKJ9gz2m7^zVDs;KdqYh2Hy(wg~}JOJDqm-L??`a?}&>BId!)daPJS`CXuDGo1}8f zk{qyAi#R?jRaWz%t!9EZtt_tN7Bl&KV)-HXT+JVF$H0%&4IHxepg(#BoZ0IJ5 zOkmL%=%ewk4-fOC0ETlsCmJVBiN;AYf;3p`7><+v36etStOd)S+{dsz*1wOOJ(}6a zh&^WPBX3{6GN!-A=~twq;S1Wcbb_o;X@BBNl5Fxo_BeyHbh7jnE!MG6pv8C=&e76A z{|ppqXXGWivsT{TBj7!P-NT6fg7$nJ7Y^WQe_>SnyMdQ)TD9@=n8aoBNrl5y%lGq^ z??TR*{1wxT@H?(Q%iVa5(qtXC>$q3PgE}64fH}^AYHyLz{(+_a+W}Q*Llr3KWrFC# WV+vfu6Rgmw^JGDVq--M$5`cH*1OkZw literal 2625 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 literal 2157 zcmb7FZF3V<6n^eDBx%^v5Yj?aFxZG~(sWCqA_P$=ZBtBNY(jZaXWVYC>DKMuxO+qC zU+@Pw<1g^DGY}k|arCQy#u@#f&Zy(Ln-D{TG2}z`?!EV%=Q-y*=j=~^fBQXvIeZj> z#*nFbM$L1%H0rk85x%j{w++j&xhsv0U?+3_Vgwh_oZ=@J6!Tj{#k?G7{YSL z_A|2#6Qw?uEsO#~?1AZIJ`qlpdki!EOj?(u$GNc-+$ZbsRok`YHHOb8`hL}M7jaUH`*FkGG-2)u`~ z0vIjXE?;ZxZF8?;ZabVIQ4*HvY?+>|-rJiYRSJf4|DPHvHf8f@#&m^yuqPTm)i2S@ z@0ly-pLv^O7#421VOiWK%nN<%(UrDM?u&+J@xs(r3}=vz;8lj{7fHE}vv`frYg}%a z9toIXc5ioINJxhB_kbgV3I*^)T^fCEe8y9g9hA2yszpQrUq&_ zitvDRJK1802zSx*1a-}+ZY5QAJh87dKnaavh5<3mVlDzI*BMLf88snl4mWE1(y)Zb zpEmvSor;bNxX3W%h#Et-+i7pNbi+jO<^W@YsLREN7OzWNxDmX?aPqLWZ!~N*2co#b zkh<-vDAH1-tHFRtx2kp}9m6GDRZa9Z!`O3JDk06|9UbrDI>T|2MN!InS(>upSNKE9 zc9P_A7`vd{F6g+4MXHNguXDFbQ9aLpk8PWG;9^-vQQ=0VXk|@F>z0o96kWY)`*p`W z2nrX)D)nahz?Xb4%~dJWjsK2$9q&i5!EoYV;+-1k*i?`)3U!sb&#civU=-(A7t_vV z>hlpwhV|*HS#QsYSUG6HC0k9Bqb-%sC>)wJi>~DepJwGMr|(2n$9;UD0tsrezP-yW z0=oNx;$JBpQsS;J+^0&sRbF4a?s?_`DVUH}T$g(bj_Lc{N18_I5Pin9cw9|ZAf8Zj zm3GwbFln6vpw-6+sZ%7gxyR76sUweZEIXY~g`Ob(HSKFSLH{v&LRn}(BT1_)S&4y^L4dXhk|vp5oa@1ojBWnm8S5V&V{z_6tU}UjwA^ z*8L7r98-i&RYMNbZLePtit<`a<2q>#w7A5S#EzphC6v~srA?DK#rYt1(+^++b*-@l_N<4B5J8 z)IFC=qhZT^;TuPM&#)YuyVBSWce0n4qKGgQ`rP!mFO9q0;gaw0?*e*b7?%6CpIu;> zF88r)VH6qSPfREKjc{t*W0>z}(z+x)&W+XZK3Nanuw7f;WcYrjpJ^Mdd|*B?4aaor zMn!tITQ3f@(KlI6bzUCKQ&Zr%I0X+bcK6-C<34Am+a;D%9YEn zye%?}2)7bg7WWDBO5b{PrEQ1%BJeC;oZXG%0y0s&%P{vQDc5lk?-6>P%Wcym0W&Pj z%=U}93%;$SII_4D#rq5w`#`s3q~in3Fz7*}W=h_2z_2)Iz-`3Gs*c0dK!KwO4@kF@ zErzIYS3FNp*PQECQgz=GM@j>f&=}?!5XS-*qo8tKu*9KJ7ozTPqkbd}OL+Wc)2}_K z>bQar88k=K8FJlDd%L9@CW?;+7!yQYt~|APL)yZP;$w!hC$)Viu+ljFMq} zyJ0rkb0S^|TX5A@lVr4|@_B_rlV-)W9O2Wf+~D+`sOfl&FH|65O}6$9xJ5t@-%$MP zU=maGRI9T% z7v4!BO)G_w!dtY8kk#9Gr;S#k6Xhw9dq!Z-aJq@}ktU{3AZeo**Ypr+s&&7El)x;Z zQ`L~iT-)mpgrdBbl7;*)F!Fz5=|@Z}h~IGaQS#ag6!U*zsfn9S+-YL9iS?gwzH?qy z=S^&O4iy_MjC+c52Q7hNZ31Ij5(RA%YuZ#7vr>my2^Ca{(S5QeK7};-*roLl9^hfP Qm&GG|Nh_6m8aL|q538$7ZvX%Q literal 2058 zcmb_dZFdtz6n>@~k~C~>3`ry?5NyOYA#4j$f#MsrG}Q#LNsH*G?Pl1nYl?9(Q`cV)gR^Y&L+gr=7fIm%g&vdJNLQwxi9$khgHB8-eA1Xv8q)M_F1LJ#A=6iLP0u!((sw+Ylys$J znXbEIT2Cmpx+OY>ErjiI!`_od7;yh(aI2!zF}*guir;ZOM}Exk^ZW^%J&t?wlUIWp z^X>%xE^ITzRz;gngW*jbrw~`t8662Em6X#ljg*q!(s3Gk3K|MJW^j(-*8CXIi0@G% zkLxJV*}CKL`(bB?`z>?F0!mIT#AZp%|q6s0Jt1QZ`r25uKqxQUNcAycd7#(1bQyo^tEe1^N! z8Z;?tQg)ltlwr`~&xq;l{K7~WgTR#8&vmTf9*qLC+vQ%HA{uA^*xP~6E6PMo$A-d9 zO3^p0%I!-Xb>*(!c7m>J?ng;W;y%N>&HX^~PLZoL7Q^xJKEP%IUsH4cN7j&g9Zdz7 zqA(lO5~fWJ$tcF$h?hfU;&g_Hu%0x`?x0Uo&8RO_aZ{u9C-GHY72o0~BetX!H+>rPFHs0O^bxKG8~}Ct7LnkcQHl!5gGMOOlJ2(n7IZ zIYhc#ICY3jxez}@wp>UYB455zEySMV?60IVg}3ROq7`bAX*%8^sZ18=Jru4S%Pe#2tr1(tupoPzlSHy>qgKgXTQUs&$plO9%kSnuJBUvPeS-%$5G zd^NmO-e^(mdEypY7I7_y87+^hR=~P;Zp5?N(6bs^*dmX%=`}@KEs%|eBv0WRJc`a} O^x<2QQjz~80RIBB_8xrz diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$16.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$16.class index 9cc902d32796c24b6b097fb47a3c186a38ef24d8..c8d84c80119f7b825697fa9e7ddd99c4c35f83a4 100644 GIT binary patch delta 657 zcmZutO>YuW6g`gzo#|v65i70MHlsj<;uNJVMX=vi2Bm({TB~kG9g$`PghwN*F5I~z zFELT~x;8bV(WKEWKf(A9x^d&y_@)@*!o1v@bI&{XzH{IH&a*TjsWzXtJ`M$P30~)pqBx=WVoI3-Jvy!}oowyT8Z+;k&*t zjUvXs`(E>(eGxT500rkTDIv*EN+CLhX`Yj&y)y)Q`{@XOBL%30^SnckM`UCPj;>eC z`?jUAs`j8-YiWo>UhaBh6`!j^{z5YCja9Nq%DZmSl z`1Qf@5Acf!h;VVxLHNDkJs1&LaW&#UkI)!Sh&tHq!6?Q=CAu+=IEXlBpo@G+a4-K( zHUbmzPdFR@hSV#B+-JTZy&1@S#D)0R9i$x0J6Lv*b8z_`Mtg!)SK#1U@6xqH59|ct z6HrGVoxlK1K&MIM=;S}vjGi?EYgiYSZi#NOs(wt&*bvx*+t|dAOGa=ScLb#zY#;#e E2ir`D-2eap delta 1253 zcmZ8gTW=Fr5dJ1>dyTVcjgvZUlT@a0T02f~ObJj-D5SYK7f7j1XnNml7RTwvyIHRT z?kzl5>ceWKN=4!UUU)2s%A_Enw2zhgOZwi&s&l+<0$FMI%$aZYn{Q^$`62puZ}iW9 zpF9I_0=Hyz5R&fJF*mn%B)F{_$?JsUuGR1TB6S95Ok+)VAFX%nrCe*!yFjPitv-Q- zT8Qmkp`J%~s7y4{2Cn&lf)vt(a9MX|Du!Mo98IMcH`Hx4TX!l(wx~P#PGm4DV}#K4 z0-)eHvixtw(QVZ+Z9+VicJKD=$jA|TTd{^(EoY04U8$BQ>lGGhNAM2DWt=2L4@W3C zh0_F?tE=lvT;E$MUrLK*X>~)_oP1l|bHw=w#_+C!E}SL2l3Gk2=FO*{U&3O@8Q(rpU3w+CL2FPfTaEUR`! zT{ZMl!_rH_AWXVPY-upvJDW4J$!RPo=#uwf{(x9Yb)$0$82i6FqV&qmJ zwi5>T^wq0X!If~#gl6liqbIJ5!(*R~K*PF%im34@x1-=VR?$(Ndab12bcEoq6d0n% z%37sn8ERwNwoN;XDq*15s5$y(LKhyNmnVL}Y{8b%zeVUim`!QjHg5v){qwtW#S6H!}o-UW?BvZ^b*P(*17^OHu!CCJamQvUNtmF zId3;Kv2zbcAn{e2AO01wCX&Blm~e?V(UGSZTVbPT7bhO$Of28TgdcQ~ttO_QqOdY7 zJR*qS_+!jBap@tmN$BJ6OM+QCi7sgzbJ9ihvoGOi!vNmk9d|_WKVy*7M}^*)&Qddb(3&XwDx282kAZ!B zQ{YXQZEz492YTZOvfgQgq#4#ci&1GFv(kdMC-+tz)LFnbC+75{uSLVSftzhfL%i}i sLr`RSz(z-_{E%=;xmMXiv4lno`x@Wy8sLNTE!PjkS{1UvPr+aQ1I9fgdH?_b diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17$1$1.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..194a13bf38c5b9e0e39365dab07dc21a9e2414fc GIT binary patch literal 842 zcma)4U2oGc6g_UbW=#VPWgD;o8zY*wFwN>-K;q-20tu-w#Gvm^YGod-JtgV3zlFp! z!NYz4KMHZ(6$$Y|B01+?``&we&-Kq=Kdu1mBlgi?*v<={7e-e6L{&$&vGdZ6#h1HqD0vw#ti{dpas;_b}qs|%f$f-xs((qff!QKE3&c}QCadxD=rVg zFP?-Ml0cd11MpCto|T+5!HltIJiY=4uXPd;`dvqbSK-2^N%^ggvc^AW>LCxb_Uw<$sy3SliKA{h=TLurR~ zA@7GSL$2~a?5Yf1zfMYADLJ<1)okZ42D9?{OORFHtn0h-8pF$cCsccRD|gar$KDRK z8(4*PhRj^BDF(ps1&5A)B^~A%fT5%#9E0FWI>s@CVFMbz^;!Tb@%u_Ge z&8ASTJ^d+*wjeF^6zdEYIex?~0!npVu^U9U(cP*f!=)8gMf-{4wo>hvL3*lVnHbnj zjm(l+GEl*)y4f9u)$S@pyzQ>*46Navjw-{c&%)uj59+gFCuqLd&*bG+?h?N4k+Cg# zT_U2PsfbR6A5C2xbW7wv*wrtZyPZA%3H{klOl@n`@-q)%WEJtN4H_92pP(Y}|~@#5qba>c1Fj25T2FjhR4 z*}~D{4#r<6HYe!cNNlNDv=yABJtrSziLWR=NIr$*Ew8T#gNn0Ie1p+#oPLKqLxncE zx0soHj|&?lkG;kBJDAN~-^PtpZ-Jz3EWJl%qev%5cd)XJy9$5?1z?y~Xm>HBtzlk! zkboFV1GPX5;Szqv1A?(Z`U+rr@(W2Cex{D$9Y&Cuxk12#$H^v0r9{nUljuaYkR E0U~rlRsaA1 literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$17.class new file mode 100644 index 0000000000000000000000000000000000000000..f9f421aa8dc19803e3679d3c67ed0084535a79c5 GIT binary patch literal 3051 zcmb_e-E$LF6#rc|?WSQ1A(lc_FxY@i+Oh>ygcQ`)LR*@Gq%9T|*laH8wwv9sd$%8c z;XmN3Grs!btIpUIWyZl*|0u_EH`@@}PNp`j zdiS-{#yPvq-Q&i6Sdv{}h>g2t-UWsu8amJ^saG_ph)e3IhAt!|bxgxSXbC9j)6k7q z87>X%p>&svck@W4hi5E@&j!^J_vVa}&1H043d4foS@JvDjLB4CIP-ERQzlYe4rUC; zbvCMQ;8T9Je4TsY>pVl3>l6diuw;!SZ~^bAc$*=)lS9M1xX7SVNd){RmE4)u2;VF%b5rCaw5?T?zz8nM zq_|88(<%~GS#}|gQ3j?<#;Y3M#|KnGMy#$xNsX_R7{awZ9>*;Y?*TjOyY*LYlh*wwmH%i%D2nZmQ0G8)Gjmg z`{_S2`(|-V#Z87&FEvHO$GA-iZ@RUODCY{1%frlSrpr8l_tfb?uNjSIUxoffuQJu%} z83PiyhX*R|Go0MfRZZ99+wuQ5>)pb19R-O| z2{9g$H!B5nE3=qV?uIzi4Q)-F(qk-D&v@$yBkZOM>q7kxAxfz8^nxJ4K ZJo^G)(i)>8{|b+ZN`)p9L4T8t7)>VovPJ^{rz!`! diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$3.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$3.class index 60f471ac5e51f3b22d6763b7a39534296e84e84a..a43d1e3622e327b96477ab2f1201f1fd03df1184 100644 GIT binary patch delta 31 ncmaFK^^$ADA{Iu^$%|Psczqan8GRX~8T}Xx7y~9tum%DEnT-d@ delta 31 ncmaFK^^$ADA{Ivb$%|Psc%2w{8J!uV8C@6*7~LjIum%DEmhT6b diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$4.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$4.class index c0c887da30d5b95c9b0991c99c32785ec68b9fc7..34866f242a4843b713228e0eb5ef846ae25022a5 100644 GIT binary patch delta 320 zcmbQp{f3z9Cp$7rPd?Acw$bn$6Qd4@XOWhllag9gQk0si z?*?XaF-S0I@i1sJ=rA&fmlmWXmZbWZWTX}aXCxM-ra;s%G8j!fC@YMi*E(u)2D8KD z>&&){CX+>36j;m|8T2Rm>rc*L31$qRyoW`;zKVgFfeGj)L#-_gJUbY~w=u{bV^9Ne z-~!4hJlO*b>MYwBG&ce@F*67PNg)On1_s6`242Q!25H6^1_Q=8pcn{p)(VFnQ( z4`>C0E`uHe&;>v?GXtXmkTB2yvYCJ~MnIYc=u=|`Qy@zSD8|ZQ#$dt52~-aT0N%bp AZ2$lO delta 314 zcmYk1ze>Y!5XV24q+-(uT1ABtEGU+=)tLIHYL~u1L2Z42fT62MIy*QyhTluL7Nm%S z)WyMvadQ diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$5.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$5.class index 508bee76adc5efb5402acbc11f548f9bb0a1a30d..c37caa41be913e5b5ef048e9cced5c4664f853b5 100644 GIT binary patch literal 1425 zcmb7EQBM;=5dMZ1jvfaTL_`qfVUi=L|kRH3K zz~60gl-xV#oVnM+Z+bE$48<)KUDK7(hPDImat41Ysx4Q(|+8NAs;&nq=1fp6_@;#3a=uk9^a@6Fn5B9xx?5 z^`0ZFH@+{!T~9=jj0`;MbKYHAAQ+ul$2<>Vir+y{Hmhfm@1FsFGcegY!mFpe*A}z5 z`WaU73&uVsJ`>uO{NZSlnB=|1G1__yQ~V{|#&jpk2lh;{ZL|0Z)>quQ#N1D;=*^X3 z@oF{q11mMXTf0O-qottHrnyQ`3!|hkOGhZsF-mljAkVk6caZfR`WWksUEq#vY%qE$ i$wMV}+~nl|wy@3LG^?qM9bQecZIIi2KBRA^R^B{7sMinLzRk_PIse39IA%! zjaFeQwlbu!<{(GN@5uuxj0^+uys@YJ)WI-e$&dC$5JiDeA~;NiICus%P!}hKhG&!zjW;E%K$Q%UIie7tC2l3G=6$Ev&JlP84PbC5U3JuaKf;jnQJF1{#(awEw-XoyR{`lWh!TLq*S-AlsuGe9XjfR^4lp_-cZ&p z+(ai0|GSGiB|~txqju~oTM2}*PJWkdcXD;FhrWpt9R{01rQDiV_#UmA!eRf%8|-YDc0Pf>~g(1Sc9|=DSWFk5$*$rcHAe+L| zN(PD8%8=r^g&d)<=kB{gyMZrWHut2LSQsTNdtqDnVd!fq{DVZueWTc7u*Xr;%6tFR z4O&`8gwbSI#l=-NTR+uqmBk;cKqXHIi=_eN%MC)V7Pe#_gmVrojM*5*go8W^gyE7A zn5e5jzDV0m8SS`DEeVtL&~tUejg;Buf+*Do3dx2ERJGi& zaE0)&PcWFR&Ebp1>y8fH)~3?3)`e`$;+lo4gt{vE=nK~8%zb7?H2zjd4{u@!dG&XyZUT|Jv4<%V&k?4V-m(2|GJOB1fVk*r&| ziB1~+cNcX_hG1`pY2-;$354-(epgI)a&>P6o(^Lb_|GMGbIZX!W70Nlq+G2&vWD|4 z2xL^#ZXC;)6UCjuV+2$vn3mzYVTeZ_HlyRbdc=E!*p;QPa4N?*|2dPnV6f~DYg39z z-aD*g(2KalGvP9(dMvNlf?=8cf$2AuFL20wzG3DFH;=J!gwhFCI>Zcp$XKVknmtzL cz!H|3cNlk>aR@6AJm(l+<$KN8Cw{Z%56sb9u>b%7 delta 391 zcmaFI`JRpI)W2Q(7#J9g7_=vHxtN(I=jZCD=jW&Ar0S=am*^+w7p3Ya=VYelmFNd2 zXQZZ-=A;&>z*s5H`MJ4?c_|aCZwsYXq$Zb^q;fHcGf1*CNH8)ePL^So)(g+fOUWB+?)%OKCrAP3YkQ9x0Yhe3fsk&%HTF*!N4 zxLC!6kwIO<2PnZ}?Wq|y`2e#%quS&T%yPEu44RA#D#W;#kwF06#gqA1JnLH-gn&Nh zVPFK3TnxetB0!pvL6kuNNOA+&mJCc_Ic}{j3_Lp+#C9;qYy=83F$jV+FacF}GH@|= rAsNFBHHMi%39M3?K?O*&0DY*+pblgS0d=!7XfSB8aWb%j>;(b<;UrR{ diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$7.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$7.class index c284198d3035d884f7cd740d75da533810ac3c29..5c123c4969e520776e44bef219b1b5eb5bff10b6 100644 GIT binary patch delta 287 zcmXAjze>YU7{$+**hXW(Hi|?2Q)|*Tsl!FV!A&TLncQ@73Go^)#2e_11bhlZc8B@| z1&89`1Nbt|F5)FF-}%nrci{ZAzT2Iz-;YlKCpfZT5WK1yERN6VBFP_Fn&)Z8Sy~qC zN%0v=GQnlRZiKwcO9wsd5H?a?Oq=|Yi}ax&m_ZoX*hAmKel2O_9$-LNjgy2c<)0G9 zLG|L9QFvX?i48~S5NshuA>vFtbAl5|$!F6nR*EYNA;GV%{JLk{(raBB{rfW*AU%40 z@(yQ-?Im^>+8XHUYik9~VbdF2?VW!Vo7mFM#9>2v@U^b!nL~{A=jv7q0VeIWhS$*_ DH1;_x delta 176 zcmaFQ_LEiM)W2Q(7#J9g7*yC9m>3z9Cr(t{Xz0KQqy%^vq!_pu88{M?lT(X}RZJ&~ zGU+qQPj+QeU{PXZP?_kjGP##2hOu|@D<=75GX_Q=WMJUX+QPuIgF$Q~kj=y(2qd|H zGy~%V26o1Y3_?IY4@4b diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$8.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$8.class index 6a6ba652861f250a69d16cb0fcebf1c60b5e9896..4dc774515e48cc667566f1cd9b4c3a0868d421cb 100644 GIT binary patch literal 761 zcma)4ZEF)j5Pl|!x#W7g^m!2N7C?-oAdPRiRz3-i-Iz)DhZ*$Hq@p?tNac$`5O0e91@YJ7&V!tl%;|I%PvY zoobg6+V#X%=|g#cw3NUT34dyxt)CI@Zk-_h-X5Vf^ci}HnW;zT*8$ImkH}j|Cit@ zVnRn7!&Q}T6XG2|D-FM}f!4~uHarOW3+?C56uz=9f5ph*$}UBrT}$Y~&cK;r)WZ%F#zapucB z=4`;`Hsu_k^ZIRQO~^I{1X&|6g578~w5{jW%V;Nr0w^a&At{;x)7QKN}#lGVU< Y+z{Im)o%)CNMu7euVbSfW?;Vl0?AXesQ>@~ literal 2592 zcmcguZBrXn6n-wGd1H|@0&Q#?Q%Mm5bSr2@Kx&JWpinD8YU}H=xrEhaH}2k);;-+aP=Q-y&=jNY(fBO@_I4Uu82nVR$=Pe~Yf!?JrjE9C^Q8k1P^wv0>TL7w8F@l%%57=#1r9YF6Nn zp{MZI*lrt6MW3?`-=7Xml$2*Vm8Y9&!)(K~%hFSxl=^J~-8}CosbegL*90PSZdoQk z6g8Ydlt*VZ#1QAv^BNLJCeevL4PEFL_yX~LCvNH5ObY*&vU7u&xb|2 zy6L&wtPYY;9Gt(vDp!$8QQhUZ!jqW5YcWuEvZlMGS6sJZOTDtKbkp_ZL2p{Px2oYf zUKi-J-3qm*u$z-r9CjST8v*5$|Ytm;J_-+c=nYw5;I{!_~@`U$u>$fL0uL1um9$d?mMX zlJlC|kjmUVNEtI-!DyFR%DkvfOIF39{CKqT zpk0v%B09VipSdCQ%sZy-`V``2Nf&cjLmA{V5d^-0Y_OT~Q_E6YbR6jgjY;~*5z|ik z3(%QL@ht*>9HcWeFFL zF5@NIJ3wQ`!ZR0;r=4`4V6cg_KJqsvzrz5#_#IRC(=+>+9r+8Bb=<6DzK+E@mcGZO z*7|$AUdQ{b#lz_IGdJ-IqT*L{i(QO~Iu^u!2wAa(tcW$-BSaq(62dcM@0f(PWBKR~IeTL72r-Aigb_gamXvE^@9rXDR2L8nY diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$9.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/Pithos$9.class index 65e375599efb8b8b63e214be2fd3eada820e6539..de771224af3977b59b3fdd7a7da95d2ab886ff7d 100644 GIT binary patch literal 2592 zcmcguZBrXn6n-wGd1H|@0&Q#?Q%Mm5bSwD6o7A>afcF-MD*Gioe27 z&iD)b+?kSg)Nyp2(HUPxf05%kn-CW0g!YS>N%ro&=ic)?=RD`!{QmEEKLQws8AFG_ zfa&R`=SZbjEw$4NH1PW~oJ?SfbL8=w`MU936QMGCL`Ac;C zQk!j!^JfI&cMUslDd`FHE`4U)HT0UYY<-bt4CQ)ckzk7r%a*=CPspSs6|F{REyq%G z0zV8rfxpIf+i*<%nr-<0OlYE{Jj*ekY^Dvf4cD$nPkB=6*9mmQI;kOsIFFvykU%ntPV{N$LchS5Lm}k<1CK@C>As9g-W}oKZITpCABmi4w6tDoWH;-XG*20?s8n=Nlf6C7$`g0vb&|5u4~#-H@B5uc0IY*n-*@Z zYIqfdzteV2YENM|N2@sOIEE>Ku{Mzk+8K#m&EG4_sjVrftFzaYp!wrV3RV=@18#@85IBp7@E$#S9 zZsjEBHMb#Ed2=si%yb2-F_frH?MJBSE!O5h^%qB<>ErbGGh zXys13A`e8ge zJLxY#XDY?F43J9m9TPn1hM|=ReY>EMT{n%sBAWy~vxSjeJX6TTc9AM%;=4!}M#nOd z%!y3&A$sqVMJGZ~Ye}~uWc(=8YCjLNF{E2Sy7skZjSP=h&kQH0Vide%fLi9c%Av|N5)D>cW zyNPj_5HiL@fuP)}i literal 2919 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 T+ou|DpC~P{;p-FhM|u7)hVT`U literal 25555 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 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/SharingUsers.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/SharingUsers.class new file mode 100644 index 0000000000000000000000000000000000000000..f99738e7b7a275793df0e4fc539552064a324e3b GIT binary patch literal 2138 zcma)7+j84f6kW%c$aa*ZN#iyFn#8&K5=W&#C~-(Bg+Pj(lsZjm;YD$Tt)NIAS)!B| zUicB7`U*4P7COUYndt}g7x)K;DXb$q#N(9Oqmj;SpS{;!`=Y1MfBPN4C48YEB(PL< zwW@0yo>n)#n$ytk8T(qrG7a0)$~E0J?dq+D;WiXR1Xf-m{H0?Z7_R3UhIZ3vIKEpk z1fssYD{!WGsDG_%zGqrm(QJ4Hfq2=h+Pdev6r1llUT>`}-L7h7Phu!+@XEltX`9}L zKscS*6Np@M4vYlC7*Y{OLSUq5+Qznjv~Re(`o2ZQV@0Q;TYGdvuG^atuVxZcruY(X zI$fvbv5ITxp0VjVM|7_4*bOSbpDtFMBdzK{m++$zFc7lc*VCo0pSxu+0!dumGpW*tb%EQvnO%B z>bm-U8SDh6Fcc@+Srt(XBruOf1q%XmebA?3326bPYIwWGH#9t+&YaGU1hQCGkP}$w z(s|f$?BkGJFYj#M&|Rjaiab^X2J3PqGps_*Yw6R9Gu^y&>)X>U-zX$-5tkIa&Q$JU zKaf}P2HvDoW+Na;2Cb)|K$3=5aaqCJy$uEOD&D~w>xJww;nQ0^t(>^CuHs#=)?#L3 zXaCTU1Z8@oY>5_Pc#rjI>qo3lf%jEh!w2jFzI{Z(Yr18%s#>6QDqFh=Zfkr|Xo6hp zY!ZXm#K#Ig5*R+oLz#jqws4(1=m!S^$<8>p)o1QXW{WCH*e3FZ`7KL{ZDxxLiAZ3v zzf54y(`DlKaiJAamXgVrhJ?d*+{;QEFXO_P2A!GR>9{01`|IMV&Hw4DiE_}aH%-|v zM>`weiX;&!Mlj4jhCoP`FGq!|5MqdM&c@5{Aa^v5f@3uM5b95X$S}Y10x-e{P+I~x zgHf*H7{gia$jjeRp)@j)`vb#|A?`fHcV22oQ3!*?b!vM#}OL&8$zK-NH)?om_I2#z~dX)$Cx6L znO~5~H8J-HnbL9-+IId4R>P~22UyA{BTc;3L}4vD8GVBB?9WI|M#ru^!qs2#VF-^3?B{PRqb(sCk8)_@CieTo!J)A9^qr7+7Uk2(IG=UFl->>wRDw$Z}VCXUDg z7ujxEqdQ!MsNpg`#ZBs;W-lsZmsI3Q%q{GZFzM_lBF{0a;G%+6F%$ZW0Tj56&v>~N a&^ujWq$`s4P(XVtjJX$tQQ&SM_4&V^JR3s* literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/foldertree/Resource.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/foldertree/Resource.class index eaedf96b5b3f83d3a78eb5482f4cb28655787886..20c13784aaaa58c2b51872d83d5ccff98c3c829f 100644 GIT binary patch delta 448 zcmYk1Un@g#7{@XQs8<#{4(D1DzXQfeR8T zEf;d9ybQ0vE5Ku1?B?ltKEKcN>-)UbUpA=kU(YW#&u2C|kmR5=$CsdoFv|Cfoh~7m7-RSh-rk6VU ztUG7UH6V158iF)3WOZl>eMHEpcw^#?<6+Xe(RN%Rq0{1pX<)_*xKesV$h>$_@fK)e z(Ykeo@*k98muu!sWBG~L6`IdqU@d&juxZ4Lq}t~Xyb>>v5b86HWC=|cNC|bDM*462 zS4|hlh6DHVs~uHp3zbr1Qdclom5gh6*`R}XN)Aad!4|V5af)XC#UaP8OcIPeno)|~ oJ_p!}-62O3{8;+hf0E-wreFV%yu5j(cVIW%Ze6xdWwLSh1H_G3$p8QV delta 341 zcmXYs%Su8~7=^#1Ms@T==Y$T5GJ-(7Ko=TxF}l#860xLVrX-0Vf|Yishd7gZf~G|f z(jXcHK~K@3w}_(Esmag!zqR(>YhOiQ2hF$d$0uNdi#v1Py#F)}!$`Sb!Mr_27vtEn z!c5Z7lv@h5tZC61`j};yIrk$}wHHJdm0MD7nE_VZg4MKEMc0&DCrZYBx9WCIWJ9@4 zdDQY~txY|f zy43{%OwA!WHMi-efJ0GrO2pXJN6MulhaO`14c1Cbx0GRr&=7T+p%=y apENkp_M2~UDlaD8f!_%`I((+Z$N3Kpt2yTY diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$BasicResources.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$BasicResources.class new file mode 100644 index 0000000000000000000000000000000000000000..7d5673a14044cc4b022e9e7e52d08c8a7c5a3418 GIT binary patch literal 1195 zcmb7D+iuf95S>YzxG8N~%B3y$iyuHjT~S0|KuFXQC{j_R1n~e*8)xclwb_ll>qPt- z4}1V0g%~?Ah!mXm!JZv^=FIGwGe3TQ`wjqy@Hl`P!iOXkNovT8vGPOf#FY9X){2Z5 z)(d$o?lq)9_e26?e(mERD$pu!^vKCMQy8X%f-tpHb`sXdoQL zb|eyO6HOwSdXYIwMNC>x7^bWkv7bYSzY!63@}T@28zMbl8dTWgJ(kp8m!t2YSg#~tJTx2tJaH`d~>-7pViwG~5qD2M6 z$C(*u3VQ{43{#&-oe|%zVkqa?I7rkf!dCg?#L9s(3BrpDpv;4dDb8@VOPtP_%#3Un z$bU7m7(D~oEI;@BSIrkXIzO)J`4@T2NLA_g&P8)+%=(WVPjY?6<~x~PLYy|4j1M0is{@&y(Vq4oDFHdu+U z!cUzwxyox9z#4l^_I9BL>wLcQ88%>(53MhN4z}{$T^4kegLak$UE`qZaARJs#r98? in_PUCo2bDa?6bYaP1gB+r_qGFZ11y0cmR(YYrg=lLS)nc literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Images.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Images.class new file mode 100644 index 0000000000000000000000000000000000000000..b298a31911d36c56277193a04369b23631e0a6c9 GIT binary patch literal 1287 zcma)6ZEF)j5T1!muBp-1_qM*b(WW9@jrd6rv{)!8g|-ON4{}MyyDNLU;dZYvf6Wj6 z0DqJ?cbmfyyQv(wTl!+))WW_MCu{L5vJ<*p5DJ!&% zDKl}H(ZFUz;-IjPO8c1Y&k2p%`)L@F319(Xdl|guY;ce3uw~xwh z@SXLuQ0AP^_G~eKJNB)tVXkvs- zf3(uWc`vzn>?M*%v3ic;cM6qr=l7LjS;^3tLjI2tHfBV0j%*Q{m57+rW~tBSG_`%M z)+ym4G^%aeLU=oe>bgF6ad|TlF7Z=`0Gj+m2zY}pLyNy&Ve2ZN#k+h0Xkdl0YaZ-6 zV>dk5O~!6{u-lB?@nEZrt$DC@#_oEsdr*V>oP7-*z(YRQxxN4%!A7IWHEzNaJ`tW4 F=O4axa*hB1 literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Templates.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeView$Templates.class new file mode 100644 index 0000000000000000000000000000000000000000..5eb5d01806de0bdd20b7fd1f472eb61e9060ab40 GIT binary patch literal 882 zcmb_a-)j>=5dJ1@b4eO)jK5lcv?>biiyM4R43wa@5>oI&eBNBw%a*&{u(xRh@sAQ; z#0T-&KT4dtHn9|a(u3W(Z!4)JY+o5YW{er(rF^S$^xts8Yl8pibR@N9F0#@c86PlSauF(rgK)S%=)EAk?*Fe6+sxbH-i-EL!piR6h_KqT z$Et=a*a&cyuzji2$U3zs^VQp79SvL~lq09OXTp=+{_l=^iOjP0-UZK@2JI>c*XsyS zA#C)uQG;1JR&FTA33D|2Hj>FmI-TQlXT``=g;Qw=&oAZ(z0)Sx^1#^RM2dFQ|V9eMa*W;}UN0U1JNp=g2v37T$cxZ{aq-+GM<5@DlE1xXYpUije!* NW}7D;!P?Gb_ujqdoZmU;cg{V(|Mkmn0EY3A z1Rujl-c<5tiQ7t9vkQi$Eb&Dpt82VuD~4U*rd3c)p0iEPm1(igIO|zj&uM%~LV#gk z)+j1@!^rDg$uHST#o}g7M@3VTMzL&In#~!4T2ak&i{V^qZFc)79YqO-bwwk`b%wDu zYD^0?q_5)yd0*1(5e9!GI>!)5(iaJxWa59p9L5H0lCY7XcU9c7hRJJjJ2yWoqZ`jr z%(5m|Mez1SQa9Aws-ml`X7-;8{Bn0>c&=>kwqvkkU$gs#09!=B&D? zlaB6`kyZ6M)zrk=+w7{8b7Ub|(DanIx?R{le(QZW%A)C32LE%@~F) z_NORa4EviIUZt%jkq{p2k+BVX8Lma14!W7_vqp%>ov=v*>qX(ED)KDE(nE(WE{p3hEB?( z^L2IU*RGjp6Qk}NLogG*H);snOMQ?A}%_DyN~9Q98;nCEQ|2wvcP1 z;+#OpD1!Qi?9Kt>&ZREe)wA6w3nD>f+?HX1+Ed6X7)#eRT|}5IP{J}!QIFFO!?x+h zS#n5BH-uucRN|&H-w4rAy`m+&NAv313W;HBQ|5O4yZO*f;SQM+K4h3!TbTQ2d9ke1 zkR?2-zhgIbPd`oLK6HqQ&3U6%O3xtuh9HKL^|abgPw^*r%Ri&*G2|bx`8!(s@I3v7 z=?PTmscunETR2)v@=HkCozLb2mT=!P91&*69ifWGUGTR;9sD#uaNE$y1~xV*8o!VJ%qrY zSjUDo`sjEXQ=W%kkir0c9*jN0bS(Z8E_P>}bX-dRiry=+A90Zp_W7y7@3BzD8?nJE za!*3sOE!SJq~ab~_?W`^3HtCU;rom%f9_z8xd!T(2T>p*(A*?eYoS;e+zHZGe%*%MAyeVL2)0xi}y#jQwA9B20I`S-J|^v J=y^Zb@egI}CwTw> literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$1.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$1.class new file mode 100644 index 0000000000000000000000000000000000000000..c3220f4e0578389412dab7369fd2e251dcb3facd GIT binary patch literal 5318 zcmds5YjYb{8Geo4nSbgL_d-#?7{6O4BR2G zKeGwV-YLhEGquW+4Cd`6R|@Q#@=Lb6UsxGQoRo!U@O;Am&9_ewbSA_b$WnZ(M3&1hqXVRbjV%pJaWCh*sY z2ji>k@B;scRr#hCcdEF|Zr>af#$8zVO%z{z9 zLtvojls!AD1w^oa|Nq!_a(gLuioQr;9t#G}2|UzMI=A+-iSw=6o@c_Ou!u_rE;2Ve z$fe30tBpx>GMJWLO-D>|`tU6~Sd8?nU(qCKC6cB8v_hqi3XJxWxq&bR8zlov0z;j} zU}70eg`|A8X1g2$?rz7X*`+J86y>rPQz*kRup*G}0*70GSUnD#xPoVhh<1s+T93I` zcV{Y%q0=fS@Ky~LIi$L>C|#Q5_@35;9<9JPKv1?iJlc!YL>13+iVS7c;3=2YklThf zP48XIGRx@MZjGd%hrzZy8KA>!CRV{oXAePM;9$25pVLPZS`*-!nzuhL@O)R7HVL}% zjOo;x@46Ai(Y#S;pEU6)d|DvI0Vb~xPZwxdCOfIB@HrEo-S~1*S@L-kU%(fcvvl#C zU#(T={LoRM6X?%OPAbL$zHH(vc%En6vM}+U$bfHX6fCKxyWC zr=Gn!wTh#_cTC)k{Q|FULv%;Qwju6%zwN1A8&P|RJB`@P+3X_*u6IA$w+q zF~?dc>eEWWQD@!*n|(VtqD<%!{?>sd&$H405dOX6Udd%`dF5%zPaMQCbJFuxooPi^Kz*~B^nzY)lEY~QpCvU*e>H1K(qISj{gQ; zrW9poBQWheUcxKf^-aF(hxix9hfXs_-)hF_Fj*;AGw364;lyYi-@Y02r1lv*6E`sY zB%H-}n}o+GPvy`)5{{B`I5FJ+7QR=<_cx`dpdV^ZKWh5@$M^}?3C;k(Px-HS{tUms iuNaS~@oW5+*Wa=E{UJHPZ!P!g>v3NHm{d8d|NaX{b8JNb literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$2.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$2.class new file mode 100644 index 0000000000000000000000000000000000000000..f81835b326d84c5688db9e54d207d3cc3187f153 GIT binary patch literal 1735 zcmb_d-%ry}6#niuRyN8Q0})UZWNJ5%!bDNWkB0@7WPr)Y9!Us<%LeTjXXscBw&8e7{YrW?yS|-Qq4o+;5m(cAYquhd{E( zFxA$qtk+vJpk83uC=X(2+C==4XAnb3@om#K{auC+%22pnn?kP25Gzsg6JVH-Az@U^ zCS@d$Od^UY8Dp4ch$_N$qHNmysC8E3?uk~jI76oF=$cj4TvOQHmobrXhF8PbQ?@{P znsn^T+=Vq}*i;7YwpX5CBvH&&lempL5*8TLYgS9fT`Uq4gZm*BUJupDFsav zz&&IoEHjjbpgI}%@qntJHJc2}gYx<&Xuo0-3i1+i3`+x+51nPKV3i?N=b@;B{-pX{ zk>P%l79ttpqW`XHh<^297_a!6{{B#Fc9oQ@I4xJ_FHNDfg?}9!Ya;uk&V5_A9FKS% zayoYh>(2ykP7B>S_Fu*0DIZy3X9k3JTu%cFFUAd*gtwg=J~(e!ktN9Z1dOkc-ownKK5 z#))(tVQ?3iVDJcQ1g!>9Y?eaSX&S)>{g!|jb>L$> XrP(}v8Nn8w#}jygZS2x0IMVeK?Wz1T literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$3.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$3.class new file mode 100644 index 0000000000000000000000000000000000000000..4afb8df4e57fed16819ab401346019b7a94e11ff GIT binary patch literal 2955 zcmb_eZF3V<6n<_Kx=p$^v7q<@S}|f?N*63Dno?Urp~W=CCZ<+=+a#CmGMnAZ?hQp} z)GsQ3N0~7Q%s77bM>(FmyCEeZ5+|L^&hEXr=Q-y*=k5Oe&%-|fyaTRaf?>^YHN&;J z&|0S0b3ARI*R;B2a$9JQ*yFCZr@Oo%T+X#Exi0(b3azUq-`{i^+)6Dfh%zK^>9=*w z(rrWAs@>vsp1*7hO38RSZYx^>-t18Tuc{x!6*yYw2geG*cSWL&cOBt~Z(Cf&yLgZ2s=HhlR9{BAKXT8|Kaf2msrAjipyC63NNHnmv0m9M zG8`lK2l7g$?vjd&pyo5Hw^~%1vey+H+Y`Di7%o4hLI%tlR;1k$iD3no6s%H%8!rJ< z72a%FM5d>rfXfV18>Mn(wNzMRxHe{o>S0qpuHcG_t9X$#*m{$fTe>Z&+E8%~A5%yJ zsu*qzgmf4eqqnv$Yt+MK=j-cI!PLt4XVNgWU9e15!PXPwFX*^^Z8$_9Il`1{4BN7s z5>@fCUrbj_IZRFt8^jAT2^nH#)39~XcIj;SKw=K@@4qJU(gE>sjx5ulNvzp*%kgNe zY;w9aG!*PI6vj(H|0<#42EJgJrqU|WklnCvIy4{;7RoRhZ_{n0+cuuOopgc7Zgs=9 zxm&Pw&*Pqguc>qOb)RR$C?JZ{ql!_MclA?l2ThqG^tjkCM^TQ@a|A4zl-CKmoE@Pj z1{wcp`nrG#`T_B5?sur!`n>F+R0Yn5c=?ok}0Hn8^nxr$58c7$?>dRdZloM#Y2Nbz;kHvLV8H%ec)U7A9!$`C72@)KZ4 z%aAZAW+O5ZNG1`*n2aHeGei~Pnl76*-#b34arZ#0S)5_C?C6?R)m&59?Uyl;afWC8 z*i*JZc^Yx-^W23sW+*5Lsfs<0fW_iNXDl3a^LiWEfX+ z66P67eNdf@+qgqj(3(w#`CfT_5wu@12?coxIfl6&%ZJV~7O=>Ws`F6P zL4Q*HF34~M{y=z%WE5+arnZ*smNCrSf;Ja=n!F`w`UvB2mgaw$0s=rFkCrBs{u6 zQ(ZR9Ahk~^2?V&(Lz3NDNZ4Rd{x^(autOiS)a6mS2N20*MB4+IQPK2trbp-=f=pkB zX|_Rjl*V*^;S8z#;u$je&lvp}I9{P=G6-NazQqLDB9Pp16_YeFOkuhW^^!aV_*DKB znNPU(4I?y5onkJ0aaVvwAwW~Xn(qkoJ;8hkfG5J>HZZ~99+n7N4Wig2g)GxFf))BL d0Ws>pRXn8GG<_Ms8Xm_Jc!G6o(kM96^%FlC{ICE3 literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$5.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$5.class new file mode 100644 index 0000000000000000000000000000000000000000..71fb90e2da09f9828314293b9be22150739751d3 GIT binary patch literal 2955 zcmb_eZF3q`6n<`?*+ABSX|=wz8Y@;_(rl}ZR!L)0nl`CGYCvMFZwuTk+gWy*-Ahyd zi67K2YCmgdq*iAfKl`H`&s~<1La{hxn4R5wx#v0OJm>BH{m<`z0(c8t!4$)W;cA9! zbD_0N(QrKNfLFDeWpZ0+j%aY#Yv?Yo3zu_kTdqs~x=ibe$qx!nom+`z1!0ExZT*g} zS-Nd#+tu5=CKOCFWNJ=RGaSdTxMmy(P4K%y>w;<}eV=cNrnSTEI(NCtFfAIUmpD&$ z<&VIyECH^VwkcK_Hj_t!n5r;@bL4dd49}=gFcU=xF%=QS8A3^UAeJ|6UTin3+%4-> zi!;pUotkb{bk~&YU^6V8Ww?G6h9#Dzv#w7h!{ubYAB>W4P20$(@&l3Zi2Vk!KNyXy zf)^N;#yowcZCVt(C{7|4B~D&e@f=Q30H0vOxE2JM*;GZszM|q)EHFfc(@PjitK|6p z5HXIQkTMQKyf7%$t`7|7|F4A+oJCT>n+&Uy<*SMm(qyRF)D3OCyt?hBQ zC(|~y^{OXay(WC|o30}q@pX%dB!V?uQLs)8 zZn6YSlzFpd5t*Kf9Ii6VY!yr8^ip zd`KbfQpIpQ1ffU?z=H+XG8g6l^~>{<l>(<*LtVihLvFGJ^sf>sZs9YASt_j}4cRSw-=P6{xKKvXc!zEyy|(fA?W6}p zcB@;q&E1@(dmi@`d`X>ap!+->MgdWr99N98yr-XXyW5m0LXV0K3l!xLJ;%V}ae1Af z%h@q{B9QT)rLRkvq8|`VXMTm6et@}OXf=gr<(~hKl>P?uv{p$*?jFYpdNY|k0m>d} z3DMs1KX7vI0bVSmGm9O(M9=A;X}b$I=O6i&jQ9?7_}+(H=!yl91c29YhCpY?xYv;& zNvY;kpyn=}4ijGDKHhkU48w1@(80UK#d95GcNg#DgUmy0Ore9#-M$<1zRVAZ;YY&y ziE!`vy3<{(N4gV%Zo&_A$LM^X>8lV}ktQpovqafnC`v#3x~A!jq(;(3wEA*4 z1GyCKNU9^gTn8WZsTmL>!%99t86W%a3U=uo#wYj`pVQYF`u+l6p*kI*5quUkdau#D LK0V_bKu7)s-@aN8 literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$6.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$6.class new file mode 100644 index 0000000000000000000000000000000000000000..f34febb926d383b4670236916bed23f5bb86b75c GIT binary patch literal 2882 zcmb_eZBrXn6n-uQHVMm1DWpYPOl@pQ0xX4!+F%uEN{fLap}#%3nTxp&V!=Q+=Lx%>Q|AAbQbjvWOp4B4Wq z6t<7qp5Lo+Os+d^|hiMw7&cX>g$oNIUFI`6MnXuWFkodu`Bt;D2)5JReo zDVKXfo8w}cKdg|*&@M`*mlz`exhBVsiy*_$v#nc+f-dwW*V#4;++`Ta8P1kgbey8a zwc?J@wh8fma5>WxHv;NpqJ7G=O>v#!+0ZKimAkKR>zbw8MQzs7Jueg3$P3rBi^tnJ zNfgOdhR`f!B?5*{6>VsjQnv~P;V4>hN<{>{4D&+)H2(*l^w^yWKa{C}C7->iW*H%sGl;|33$Y@^A*G39?>z}wAv0GO|C}qCK3uR zGNeyX7AoGtB?hI)g{*rbVklV)pdw65lY5yC3?Zc;$05o9r^ z;3mUtlXJ%%n<{SMHUZbmWrmB*cwO=@hm3-c7|y)dLo*dq@)gDcHOx^=UW-RDk2`Ym zEHU&S!H_Je87!;FV}%--5^+n2a$e}7;;ryUl=i;;iuLDdomgphRmB=UkyTVKbGtx{ z9%Vn!uC=pu&>3lBUB#!;Z&*0Bhf#cvFBN>jaG?p!HBwZ3C8JUcrdPJ~T|fRXHmGXy zyPn`%aV{$`zR87AIw&qlNdcP*XjYy+Ahb~)DvA7^$9aGErYVQ{`Tx54Mt9jU29fGenHPQUIR`xGrP04VL2XgxWMUErJzEfLdD`U8=N%^V?!sp`sEd--nMP- z`lFnCh!Yj9^qSPt(<84?pr=<}ptKXBZv>L64wAm6rwaYYQt2m9Qv>Z!(3Kh<83+xu zJw?y=^rRK1={JfN`juz)&_~i$I!C9_Pha_o;SA3DIx!63HQ#p(uahMG#c+C} zB`Y=kLDFY3TXih!w3c25Q;*SA#f3dwrg2o0(^ZV@VY~%v5>tzhsmu5Bj4b|4mVftg z#cCEBxCSwacgQ}&yLhke=Uc)g{VeugOaFkW^lzB?2A9Z@`WQEU!u-A7+*2&3f5l7{ zA6Id=ihEUj_8sCu6 zv2#7s#K?m>(j?)ONFymiGg^gp5PUnS$b`sbNR<$5Uvg0P{~yBjceC)YO_EHwJVBp- E0cl7uC;$Ke literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7$1.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0c6e590e2a55ef400d0c0adec36af2b4538e84c3 GIT binary patch literal 1475 zcmb_c>rN9v6#k|ytds>xMFp>bRoik|iwbIqiB>QqMNCRC@!xiL+%B2!nBCdp3;6&h zg25j?fG=U9@imNRN{J|O1Bsi=o^xi-DxgJ_*@tDJVj>Osid%toxV!z*mnL-W8Kf zPhRHgso*EYJPxmU(3DCjBYT)S`w<0SE5j%`WpN#cVfk}xP~bMlMFMbXs?NB zTqh?USGw~AyI87s2RK%~u=HMa5I1nkz)gnXKTk{)bp`qy!R;`MGG-0TFw7>*?y-`a zn8Q575CLe!&4XjA(C8m98vFpoZ4(tN&`jB``&bBuiQ*BkH7NvLH(v(T(kmLodGV%j&ozn~88dzdjNl4`6T{7_i4;cnz(1;y}N0eP9@hTjv zQB_ZvxfTRGtO+}cc!Wus#Wbxxq;okvra&&QhqOy+MCo-)(Hg=qX^jx~gyam-vGU9= za^=}wK;)+((tTJnbzK)t?SZ F-!D_!oTC5$ literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$7.class new file mode 100644 index 0000000000000000000000000000000000000000..90b974d294cb51ed8dcbd03d2a8356c199f52dc9 GIT binary patch literal 3417 zcmcguTW=dx5dKc$#)-3SE^X5U+TymRBzD?OdZAF4K$>g8PD3413gxn~PwZ{iyYB9B zF6AHa50H38JR`LZPzk{+|9}^GMB*a&1&BFkZD(^~l~fg$Y|oyZGxNDv1njqGWoB5dx42*|t{%X@>3A*rxxTam)+e!#Q%Z^2%s_aZFF}<&thZY$k6O_XaFdWoy0But0(hx;^46W$V(1Bit zhl2s^|3fghxaU;eJWor6T^ZBnbJg+^cNdH$i!=0QoV;Nz8m=jy>x&UtQVcWCB6o=^ zR1cjA!*=ZTvQzb_P&x0QwUN`r~< z01%a|Yx^@jM!|PDcCMPwbB`z;4LuJ#p$#p@kigj}USt^FPxWee34>ILMJ{sHCEqal z?-?BOBdQA1(sNv-JCVe26e-eGoHt%*IEV8L?WW+aAslJ~eOvb4sIRA^pp?#pVB2f! zNnA;c#-QVZJSmjZFG9K6yVd<2lU-J79L%QBF zRBD>MZ*NakkGqYQJmHkfhFwr+zKteE)uKTWk*Q=j5-5PCF^0)qmY<^7qmDi0y0TpQ zgN<&X;C6wC*v)>R;rV;(pwrUChZ;VTe%poPzl^~^K8huV zQz5MSq-ZF}sI-FVRV-s&#ovx)N_KAD6TBSfvT)+6^fzllQc}XbC`^XKn}jyAs^Pvw z6eA|G)MAYy4K+qI91R50RHklxkhsd<&l;8bth*T6Wda>JFi2xG*&k>)h129Xr^f5F zDW~a)|GLX|gJM z{i~T6iO{zLlCVya zKBaeZwLh793@tejeT+lN;d29#fdd0=8|eOu-nHT|{l?HjzjD`4I6~5xw2FQlMIZf3 z=@@;bPCo|lobuj}=Sh+t`*ED414=r9leG5*k~OmD?~KzMxpzC%j?XTtdl+5S~wjQcj47~{A~zNthAa~jvkX9I=5 z@|r?1hS%#TJ}2xlqPgBTQeWeG>IckzhO-jLBfR+pb9Z{@H*hQUJ!Wfor-nNIB2(n*U-TpOv##L1*dl?YrVc@XNqiWRkb8LN0mQZH%A9rC05fBym% Ckm^eS literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$8.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$8.class new file mode 100644 index 0000000000000000000000000000000000000000..5a6c84cb17e9ff02a169bb497c7e104637fb82bb GIT binary patch literal 2873 zcmcguTXWk)7(Ls#mhC8wW0JI{t#PR-iE~k!a0zt?q#-x3(-NDMLb)jNMpi3JMp`!w zzk*k0c;}g!#ARTHfmi+yuMFQRPHfk~6FMC{V{3Q)?e6)`clNCQ{QH;R0LO~kw_4SmGR+DvSdJwY8U7l3AxMv~ z*}7wD%eL4Vpr1%)tUPM7N^CXh~jPAJ3e$}n}BqVD0~Iuj-Vrj}(VOe& zy}>Zu3wU?+8Adx<*smQkvD5}6DAvM%TY8a_kGf8=ZW!DrN^kZ&B;C-)w__MXR>3&K zat}$L)d*BfV3O$C<-({OiJu|Yl;rd2KTO_Lx5=^;*IDsAmkj1oyT(fu&)t*aA_Yc3 z#T^c!(k2&zPILMw=@{nlrUEKn>KWTHT#p~y&f2|_ins7KL!a%MWU1{Nb-P3R)(YNX znCd}cV8L`+#L5$c*M#LdQKCMlVgc{cetNCOaJ^Uc?*W$6+hFpQj%nAE~NR#mKFoemN4w=P7jD0ETxOZ*8{V0di2O|MNpC z_y~D2Ys!KS~!M}QB<(SaIFWcN2I7I$*k0}<=1R| zKgd4--xs`^=2AH6K$R^`NJ>7%XA168NcX}wqf?R{Zd z=1RU%v`mMJ>rw23Ucw8M+j@C;4vQLGaSYq_iTVPkw;U3Py5Tt73oMWONK+1d^j6dt zkIOp_h$rL?7d+{Hqkls5?T1Qn1JwGCVxsg+WhV}CA)8bV5zi(ghe%{6r;?%M`DFMh zhJT`nK3t^V7|ziziJFCQiCT+t52TR9%k-43%eWH6q;Qpb5=#oN&{yu8B77;rC0p0< zD$Tu4ZHYyWTtMi#B;8Nhbb6jkpR!=QTz#>IHqVH zQX8hBHCO$Cu*g+66EhP(V|L;X%zuv?a*G4p`W1`!6YoF8?TOzp-@r-(8x0g1xcej0 z?IEAYkOuCZ{NLheRA$IjgxLTF*agh6I0|g24d3PozD+#97li9e!b7NLuEdup|F4=z v#|fuI8qE@#uN&BDB_5^_SqNDK84^M{XmRWYPZO13lvuAZgfbf9N<&;O1 zKYRfH`aYID0ZI@n1tqCUx;r!7{Y_u<BF2 zNk_P$;e~bK2X)gIcIXRXEGfAX%PSpf$;ZTl)UwI)3q6z!@3h>3IwQpDu{}NX48}z+YHTR-`jL- z;WG@C|H86KXV}M5c7kx`z;-gBD-*s5A{jCaCm~z&BzcI#G#9g^-K4bF=xkGt>x2&( zerA(Q96#K}6CEST=TX=v+nrlwNR_AvTENi7q2Y|;&T+IrSKN7yR&d2#O2IaB6d-Xa*Sb|YSFaqCsH!>WDkHXc~Vll zI-Xn1z0om&Ne%ZHW)t8XKh_-gLD4>AT9ydn9{+G!eULkiYACkg0Ul|f1}&Y!fjJ)I z2^F`wvBA)v1aLW?xJ4Z$%xain=u2?FyP0DSPpPXY=l__-4AYeS1S7{t8o^n>a}CcJ z9{!&tjxrXh@}mtJ!lG1nr0olrp^%vUBV}GxLqe~3k#C7PN6m*T|2TSl5e=&*qlq%> zTG9&~x3(zgPO~{)DIhJLTZ!TtWZ(;~EBul)gFpnhPUESO-X^5dX*I)ubeEc7F{Swx zQ<`3MaW>G~jt<(LCT^bOCZfIhfo*i=2e)xHKeUbRd{1f{7xJIc^D)-BOkX|LW$0$Z zxI!`~8>ES=xJHx_ic5P|-_cIBHlF{4vpeYfirWl(Jdy4l41UE(174HR`2}}BVQL4{ zBwX0R{2zy1NRizFI2*xrHi|JecEIuYp5sQmAXg1o!ZOhmHUCRgi0h(%6GYXcz|iv> DkV9*~ literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$9.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel$9.class new file mode 100644 index 0000000000000000000000000000000000000000..01ac9067b2e1540d07f963f24fb65e7b52ef7d60 GIT binary patch literal 3880 zcmcgv-BS}+6#rcb*$|f+B2uwvV~rLPAm9frhGG!`Z39|Ev8b(Gl1s9>?8e;|rAJ8?Q8#^PS3pwVPoh{bf#q{d%w;-_xC&J+;c8}{{8E308Zj- z1$!7~3U;bso7_#6bhl_ZsSUo8${9L0-IV1Px$P7+o9A7d^VDTA&dTv3jhA%3F>mF$ z5g%6&U`Y6=vbp1?=D2&6-z`&@A?Ox$Cq6;|GCtc{MUZCbT-S`aQ?xc#b%Q$$>^eh4 z%;hy#yJB1GdY;=1Lz$elmMU0Q!QiRFhMQU^7Tbg~y5nB(h?ClOp<~WPl zR@u(+v_QQtqnmu8ytcyaMQz344AG30(~Kp}*2TCs84w}PFz08MR^1;Tr;yqk*G$XY zT(im!U7W5a3p7ZK3RF8WQwxy>k&_LhQw^ij3_XpcHcQ*YraXG3?I-*wHhX@OxO7-% zww%jxhb%PedqbM{4=i;ci6I4p4AVaG+^TU^3?s$Rrj<$z$NaclkvTFQ#wboHAp0Hl zIld~a;xq<`uSiX^A~l6EhF2B5!Z7Hwxrw!kah#gc5)Bj;s^7DR^PbeFNDH7*YT*M{1KC9f#6=!7yU`W?el(c`{xKBbaJKWwb zKhxIQnr7x@jtNr5EE`lP1HxYn-5xL3l`&k{W%?OzV`tXYa(CvnQZ02UmN{eFB1R5+ z6YXNrwl+kDBZwhfB~(%>MltD90g6=(6viT!6uixF?ww&3 z==I<|sJWndk5)jneaI(3NpgPb+mbmD;B{HX5b{6?Pa$xuNEt9po#!RR!s3=0GmjdM- zZsv*7Zu&jBwz{_lnv&2B+)-hOb3?9GT@;zgRAC9YYF>9rhPEk*g>aYrk==A$z82%c zw=o&5J8lzP9h4Oi=KVXCsvBO#x;QFK6z3^zYXurGl0D!-SQn-Yf6Di^d+w5_wuY(L zf1sjYWXzBz%R`(B**Ctbo+5D!_+9T-^$@pkR=x&AK4&<5`Cs0}!@`P``m=h$qO7~{d|o7`FBxw6+Rx*PYVLZv{CZtHiPTG`$!+-< z;0|Ks#y0vVBM^y*XB`lUibtJn=}9MBdeD(XJN-KG9Leva-nS%6tB5C(TZkkMC|igo zdP7_2PV{zcp(imo)Enq+?+re}!JkO34KL6)j6L+F>&^PnN4-gLBH}oVBh-rCi-btX z#BmfaNn~*xqh3JH#i=K7#BrQ31#yDAVAYd;|76)6dk3hes&j_Io;&LYUt=wuTZVUw6==Ol@q z>dAEy3)sLt!XYK9*~r;8WRthR@|}5?|me>P1PhP$T}Ps?9$?{%Rut literal 0 HcmV?d00001 diff --git a/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.class b/web_client/war/WEB-INF/classes/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.class new file mode 100644 index 0000000000000000000000000000000000000000..d89fdf99b18b005149e475d188a2af72ac327548 GIT binary patch literal 10621 zcmdT~33wc38GgTHlSwzzE2T$(mQX^QW;ZN7LQB#H)3l{vTS^mJQjRi7CdtyxZrGh| z3*wEU;Zi&RZ$&v2kHnX7*rgc!H1id9pL}&;Nh_ zcf8;GfB!$d@1M8b31EpdYbX-5^duua$+&4n`lD8FA{E(fc0@X3Q8R8u5>~I7O!XQ` zv&%}FX5<9*+-g6!@p)_1+`Tc;WyUlF1k=tmb{UbF5$}nd&~c{OX=x}G)O05LB0Y&j zPt1(;?6xAiIA&CQmJC6$(cdpPY=e(Nn{5>v1;Oq_tjkQcn6a4P&<#10bh3GL64iwR zCbdR;;)az@nt~JmQ~#BIIyf`i{#a)#(bz=!(~^mVwZ^cF&B?^BC{+{G-emM~ z>H|1+9>D}rg~iI5O9ZF*#(96e*mz3*EQ_{If?%1BNeF5X?Qp8deFW+a}p;x86wgl3RjU>GXe_j_IgS{a5Qaz`0waLqnNrTc=|dW-Gpo z#?4LXz78|lW^}~psEQ4VP9wI}NJiDO+ZeEVqbcIdFUj`XMMUxrdu5!JJr(2aPFGIE zY$Di?i+3jk$JTg!>a4_#c{uX=Fl!mE9u-7NI&o!NL%yu0nzpt#BXDJH6Y*J(6LoAs zs{=N*3etz8V6!8m+8WDn61{EL8&wNaRZh)Oj%{eyaI#>^SRhq*9oun=Dj>SL1TzcS zzg@#=f`|{23ej>9r(&LlGbV^KmISc_9V&r31!qr80_75fH?W0FB1tQ&OdZ|m5meG; znWdbaR;@Xsy%lI1 zNnTZ<8Wbn^Shv5FP`xyWB+?2~p3TK8&yQ-Uinsx6HM-69R$pw3 z8E2(yCT&o~@eVckT*0+@gT1J1?odJR%&vZOk>>TEUBTye@Jh@8*akskZdb3YtwtRS!pAd3X<;MtK)rmKM~e#TAjU$d;ucZI=vhh;SvoO3nq{8Fc(uDAHhdS!(5I8 z3kuP2{%WFReN4y4@d*y>Pjldk0t55MdCL=bkyDYoOvmN8LQrl;&e@*{cKD`9o_%=; z@{RCzRcw~*QovH>z*yDfs>O9Idw;;{DW_$rK)MA-_|*&fS_*XUPKo~G!c1u7;@_)% zp(UZf9#3tGv;+tm}497k!mR9|#S zqD*aNoW|R5yM_@#t&c;KX3B~jYg${##JtsU2kzv_P0F;^n}&U)ve3&7Z)k&B%J$(~ z8txKQ=h)MkNSdP?u-49Avn$P7M-kVzc~+Ib-zwOh#mYW>N5?(5mpj0eD}`l&ndC{C zpdk;*1;td4&fnFN=<8$EWpALT(q~>|k(>Q!A;)LT+im0M?wht=E$qXkip+9ob~)6_ z_3(^5WBnlGJ7GS>HQ5k*fQz$pI2ptM9#nbrP)?oiVnIcI0FUVSk?NrnIck$_aMPC5 z@R(qBE@`YzN7XrE8J-{oM}l}14=M>i(eYCSV4cCpNKkKorsL=M1@+;MjKvT4*#!{k zU7H-m+-bP2`6c((UM5(OvX4_&DdE4;@oPJ6tb{X6!*3>t&6caQ{GE>Hlzg>cRMkwJ zTm2xO#qX6z{~&noe~XEHm?9r3<5{fiJPY)bpR*Ti7eu5SI>-UI;M9pqr+l5&Dq9*& zZ7_{)1-ifJ_$&U#g;6m;y2I(u44a;{J#ICv#&W!jS2etnReorOk^JC}1~RCu;>5h>P$pC&5C zs>@N0bqUxO_8O^8+>ofgrMhTR##53w8*)#s+#0M*f`Y27yyIt!XkV0$SQS~&pESFp zdzga*qU$nQ<%oj7X1iIFsS}ihD}pjbrZd^3Lh#rB=VZ$d%zi?tTn>;~n#>f;&smrY zfI*kp>fBZ{_n4h&i`8{N#fu?!3Ylyuv)bT6T&#mNC0G6Zftp}V0YT$NwX;fO_MmEq zxX6z)@_B#p$f&*Rr1?MD`uAiUdm6~8`e=qTH=eGeDU@MrPOIxq zl39f0aLG8O<$88PS9_|e3D3YM13z5j?fg$wU2&P1!{I>oxUBRsD~+WT%0wX zz0omKnk*I6=kUq?mE5e~bE|Moj>`XR{f6INNJ{FGx(k#Rx-~s`OJ?hnddpS>`ENSc4vlza4=`On{yZQ z+EzP+xwRvxYOf94f%)ylx1xFwwXH)qaxa$hMSc4amhZ)ivD*gTu4HS|UK}%a+guyk ziE*G zQ8T=qI&!1WJ7rN3Ht=50w9H|PU?XLWT6Ti6j1^89=Ys@7_hMu1Em$##%@u9K*jj{b zBRG|cpT03Xf*tL(;UO4<=-S3kE#X1*jv(Hy28^J;eFVvNy2cv9?ywBuoEt)SVg429 z301TW;+}YWKUhFygCp{MCGx`=k!n8I!4$TXe`}qo_F+J2-W(pr zg+;g*Gwlbr>o6`YhSJ%6y$|)9YQuHKgZQKpSjRVGqUf=J9f=Oi;e8*U;+TO14&t%& zBAkuIIEUW<5Pg0QJvo4rZ~^0VA!BwCdtQulaT$+CFUO~GH9pJh7x7gL;~TgW*W>%R z0Z-v3Jdd04B5tvx*o0E$`_U-!?o%8qoNp;UV@EO0yU*HpcVZnrhtD&9&vUEv1){vz zj&ZFMKaTujX5^RH%NeQeoc>p`|CediR0Lkbrq{4#_UkxIqY*{wpqal8;J;!6{!$n4 z4E;S~NVCfdoXVxl?Buz@R35mM-rBFiNoyDmy$3N+J2O0lT3dq6iM$lqU zXqd$tRFV%%iSRUPfWCE|UgtP{hD@T@>jtIVaehN!M5g3>zcNr43J=M&hLXyXT>qEQ z|5syj_#R9O56cXJLYb4KHeHhOCW&B%6r-N$(}AqVi&+$??)n~mKvXDrdMCu8&; znIn}{pLWQBau98t!SA=qe9FNJJ3N%eL{s4@@q|Z>JeVV$cQ5dra#tyeUPB*0)5~0$ z$G0j}^}MPX$_cWygK`KxbORrYY=$XSuQ;*da)+hMUFAgP%VDmFYiO!UrFx2J4te=4 zl*ez*Yn$IfbqAB*#ymAkK~fIEWU1n2Wu_F`)Dji%oJga~Rz*!!BoX`fNLkEl5>sRe_Q|r+NeD^3EGL{- wNQ128a~vhIiqB2FzKzdS?63aqa4sC{{5#LRp6_0-a<9)iSDE5oYn