Revision b651e67f src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
b/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java | ||
---|---|---|
34 | 34 |
*/ |
35 | 35 |
package gr.grnet.pithos.web.client; |
36 | 36 |
|
37 |
import com.google.gwt.core.client.Scheduler; |
|
37 | 38 |
import com.google.gwt.event.dom.client.KeyDownEvent; |
38 | 39 |
import com.google.gwt.user.client.Event; |
39 | 40 |
import gr.grnet.pithos.web.client.foldertree.Folder; |
41 |
import gr.grnet.pithos.web.client.foldertree.Resource; |
|
40 | 42 |
import gr.grnet.pithos.web.client.rest.PostCommand; |
43 |
import gr.grnet.pithos.web.client.rest.PutRequest; |
|
41 | 44 |
import gr.grnet.pithos.web.client.rest.RestException; |
42 | 45 |
import gr.grnet.pithos.web.client.rest.resource.RestResourceWrapper; |
43 | 46 |
|
... | ... | |
67 | 70 |
*/ |
68 | 71 |
public class FolderPropertiesDialog extends DialogBox { |
69 | 72 |
|
73 |
private GSS app; |
|
74 |
|
|
70 | 75 |
private CheckBox readForAll; |
71 | 76 |
|
72 | 77 |
/** |
... | ... | |
86 | 91 |
|
87 | 92 |
/** |
88 | 93 |
* The widget's constructor. |
89 |
* |
|
90 |
* @param _create true if the dialog is displayed for creating a new |
|
91 |
* sub-folder of the selected folder, false if it is displayed |
|
92 |
* for modifying the selected folder |
|
93 | 94 |
*/ |
94 |
public FolderPropertiesDialog(boolean _create, Folder selected) { |
|
95 |
public FolderPropertiesDialog(GSS app, boolean _create, Folder selected) { |
|
96 |
this.app = app; |
|
95 | 97 |
setAnimationEnabled(true); |
96 | 98 |
|
97 | 99 |
// Enable IE selection for the dialog (must disable it upon closing it) |
98 |
GSS.enableIESelection();
|
|
100 |
app.enableIESelection();
|
|
99 | 101 |
|
100 | 102 |
create = _create; |
101 | 103 |
|
... | ... | |
227 | 229 |
* (we disable the prevention on creation of the dialog) |
228 | 230 |
*/ |
229 | 231 |
public void closeDialog() { |
230 |
GSS.preventIESelection();
|
|
232 |
app.preventIESelection();
|
|
231 | 233 |
hide(); |
232 | 234 |
} |
233 | 235 |
|
... | ... | |
236 | 238 |
*/ |
237 | 239 |
private void createFolder() { |
238 | 240 |
String name = folderName.getText(); |
239 |
|
|
240 |
// PostCommand ep = new PostCommand(folder.getUri() + "?new=" + |
|
241 |
// URL.encodeComponent(name), "", 201) { |
|
242 |
// |
|
243 |
// @Override |
|
244 |
// public void onComplete() { |
|
245 |
// //TODO:CELLTREE |
|
246 |
// if(folder.getUri().equals(GSS.get().getTreeView().getMyFolders().getUri())){ |
|
247 |
// GSS.get().getTreeView().updateRootNode(); |
|
248 |
// } |
|
249 |
// else |
|
250 |
// GSS.get().getTreeView().updateNodeChildren((RestResourceWrapper) GSS.get().getTreeView().getSelection()); |
|
251 |
// //GSS.get().getFolders().updateFolder((DnDTreeItem) GSS.get().getFolders().getCurrent()); |
|
252 |
// } |
|
253 |
// |
|
254 |
// @Override |
|
255 |
// public void onError(Throwable t) { |
|
256 |
// GWT.log("", t); |
|
257 |
// if(t instanceof RestException){ |
|
258 |
// int statusCode = ((RestException)t).getHttpStatusCode(); |
|
259 |
// if(statusCode == 405) |
|
260 |
// GSS.get().displayError("You don't have the necessary" + |
|
261 |
// " permissions or a folder with same name " + |
|
262 |
// "already exists"); |
|
263 |
// else if(statusCode == 404) |
|
264 |
// GSS.get().displayError("Resource not found"); |
|
265 |
// else |
|
266 |
// GSS.get().displayError("Unable to create folder:" + |
|
267 |
// ((RestException)t).getHttpStatusText()); |
|
268 |
// } |
|
269 |
// else |
|
270 |
// GSS.get().displayError("System error creating folder:" + |
|
271 |
// t.getMessage()); |
|
272 |
// } |
|
273 |
// }; |
|
274 |
// DeferredCommand.addCommand(ep); |
|
275 |
|
|
241 |
String prefix = folder.getPrefix(); |
|
242 |
String path = app.getApiPath() + app.getUsername() + "/" + folder.getContainer() + "/" + (prefix.length() == 0 ? "" : prefix + "/") + name; |
|
243 |
PutRequest createFolder = new PutRequest(path) { |
|
244 |
@Override |
|
245 |
public void onSuccess(Resource result) { |
|
246 |
app.updateFolder(folder); |
|
247 |
} |
|
248 |
|
|
249 |
@Override |
|
250 |
public void onError(Throwable t) { |
|
251 |
GWT.log("", t); |
|
252 |
if (t instanceof RestException) { |
|
253 |
app.displayError("Unable to create folder:" + ((RestException) t).getHttpStatusText()); |
|
254 |
} |
|
255 |
else |
|
256 |
app.displayError("System error creating folder:" + t.getMessage()); |
|
257 |
} |
|
258 |
}; |
|
259 |
createFolder.setHeader("X-Auth-Token", "0000"); |
|
260 |
createFolder.setHeader("Accept", "*/*"); |
|
261 |
createFolder.setHeader("Content-Length", "0"); |
|
262 |
createFolder.setHeader("Content-Type", "application/folder"); |
|
263 |
Scheduler.get().scheduleDeferred(createFolder); |
|
276 | 264 |
} |
277 | 265 |
|
278 | 266 |
/** |
... | ... | |
296 | 284 |
// json.put("name", new JSONString(folderName.getText())); |
297 | 285 |
// //only update the read for all perm if the user is the owner |
298 | 286 |
// if (readForAll.getValue() != folder.isReadForAll()) |
299 |
// if (folder.getOwner().equals(GSS.get().getCurrentUserResource().getUsername()))
|
|
287 |
// if (folder.getOwner().equals(app.getCurrentUserResource().getUsername()))
|
|
300 | 288 |
// json.put("readForAll", JSONBoolean.getInstance(readForAll.getValue())); |
301 | 289 |
// if (permList.hasChanges()) { |
302 | 290 |
// JSONArray perma = new JSONArray(); |
... | ... | |
325 | 313 |
// if(getPostBody() != null && !"".equals(getPostBody().trim())){ |
326 | 314 |
// |
327 | 315 |
// |
328 |
// FolderResource fres = ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).getResource();
|
|
316 |
// FolderResource fres = ((RestResourceWrapper) app.getTreeView().getSelection()).getResource();
|
|
329 | 317 |
// String initialPath = fres.getUri(); |
330 | 318 |
// String newPath = getPostBody().trim(); |
331 | 319 |
// fres.setUri(newPath); |
332 |
// ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).getResource().setUri(newPath);
|
|
333 |
// ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).setUri(newPath);
|
|
334 |
// GSS.get().getTreeView().updateNodeChildren(fres.getParentURI());
|
|
320 |
// ((RestResourceWrapper) app.getTreeView().getSelection()).getResource().setUri(newPath);
|
|
321 |
// ((RestResourceWrapper) app.getTreeView().getSelection()).setUri(newPath);
|
|
322 |
// app.getTreeView().updateNodeChildren(fres.getParentURI());
|
|
335 | 323 |
// if (permList.hasChanges()) { |
336 |
// GSS.get().getTreeView().updateMySharedNode();
|
|
324 |
// app.getTreeView().updateMySharedNode();
|
|
337 | 325 |
// } |
338 | 326 |
// /* |
339 | 327 |
// if(folderItem.getParentItem() != null && ((DnDTreeItem)folderItem.getParentItem()).getFolderResource() != null){ |
... | ... | |
341 | 329 |
// ((DnDTreeItem)folderItem.getParentItem()).getFolderResource().getSubfolderPaths().add(newPath); |
342 | 330 |
// }*/ |
343 | 331 |
// } |
344 |
// //GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent());
|
|
332 |
// //app.getFolders().updateFolder( (DnDTreeItem) app.getFolders().getCurrent());
|
|
345 | 333 |
// |
346 |
// GSS.get().showFileList(true);
|
|
334 |
// app.get().showFileList(true);
|
|
347 | 335 |
// } |
348 | 336 |
// |
349 | 337 |
// @Override |
... | ... | |
352 | 340 |
// if(t instanceof RestException){ |
353 | 341 |
// int statusCode = ((RestException)t).getHttpStatusCode(); |
354 | 342 |
// if(statusCode == 405) |
355 |
// GSS.get().displayError("You don't have the necessary permissions or" +
|
|
343 |
// app.displayError("You don't have the necessary permissions or" +
|
|
356 | 344 |
// " a folder with same name already exists"); |
357 | 345 |
// else if(statusCode == 404) |
358 |
// GSS.get().displayError("Resource not found, or user specified in sharing does not exist");
|
|
346 |
// app.displayError("Resource not found, or user specified in sharing does not exist");
|
|
359 | 347 |
// else |
360 |
// GSS.get().displayError("Unable to update folder: "+((RestException)t).getHttpStatusText());
|
|
348 |
// app.displayError("Unable to update folder: "+((RestException)t).getHttpStatusText());
|
|
361 | 349 |
// } |
362 | 350 |
// else |
363 |
// GSS.get().displayError("System error moifying file: "+t.getMessage());
|
|
351 |
// app.displayError("System error moifying file: "+t.getMessage());
|
|
364 | 352 |
// //TODO:CELLTREE |
365 |
// //GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent());
|
|
353 |
// //app.getFolders().updateFolder( (DnDTreeItem) app.getFolders().getCurrent());
|
|
366 | 354 |
// } |
367 | 355 |
// }; |
368 | 356 |
// DeferredCommand.addCommand(ep); |
... | ... | |
371 | 359 |
public void selectTab(int _tab) { |
372 | 360 |
inner.selectTab(_tab); |
373 | 361 |
} |
374 |
|
|
375 | 362 |
} |
Also available in: Unified diff