47 |
47 |
import java.util.List;
|
48 |
48 |
import java.util.Map;
|
49 |
49 |
|
50 |
|
import org.apache.commons.collections.map.HashedMap;
|
51 |
|
|
52 |
50 |
import com.google.gwt.core.client.GWT;
|
53 |
51 |
import com.google.gwt.core.client.Scheduler;
|
54 |
52 |
import com.google.gwt.event.dom.client.ClickEvent;
|
... | ... | |
111 |
109 |
|
112 |
110 |
Images images = GWT.create(Images.class);
|
113 |
111 |
|
114 |
|
private FlexTable metaTable;
|
|
112 |
FlexTable metaTable;
|
115 |
113 |
/**
|
116 |
114 |
* The widget's constructor.
|
117 |
115 |
*/
|
... | ... | |
124 |
122 |
close.addClickHandler(new ClickHandler() {
|
125 |
123 |
|
126 |
124 |
@Override
|
127 |
|
public void onClick(ClickEvent event) {
|
|
125 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
128 |
126 |
hide();
|
129 |
127 |
}
|
130 |
128 |
});
|
... | ... | |
193 |
191 |
}
|
194 |
192 |
|
195 |
193 |
@Override
|
196 |
|
protected void onUnauthorized(Response response) {
|
|
194 |
protected void onUnauthorized(@SuppressWarnings("unused") Response response) {
|
197 |
195 |
app.sessionExpired();
|
198 |
196 |
}
|
199 |
197 |
};
|
... | ... | |
234 |
232 |
|
235 |
233 |
generalPanel.add(generalTable);
|
236 |
234 |
|
|
235 |
HorizontalPanel metaTitlePanel = new HorizontalPanel();
|
|
236 |
metaTitlePanel.setSpacing(5);
|
237 |
237 |
Label meta = new Label("Meta data");
|
238 |
|
generalPanel.add(meta);
|
|
238 |
meta.addStyleName("pithos-metaTitle");
|
|
239 |
metaTitlePanel.add(meta);
|
|
240 |
|
239 |
241 |
Image plus = new Image("images/plus.png");
|
240 |
|
plus.addStyleName("pithos-addInvitationImg");
|
241 |
|
generalPanel.add(plus);
|
|
242 |
plus.addStyleName("pithos-addMetaImg");
|
|
243 |
metaTitlePanel.add(plus);
|
|
244 |
|
|
245 |
generalPanel.add(metaTitlePanel);
|
242 |
246 |
|
243 |
247 |
metaTable = new FlexTable();
|
244 |
248 |
metaTable.setCellSpacing(0);
|
... | ... | |
250 |
254 |
for (String metaKey : file.getMeta().keySet()) {
|
251 |
255 |
addFormLine(metaTable, rows++, metaKey, file.getMeta().get(metaKey));
|
252 |
256 |
}
|
|
257 |
if (rows == 1) //If no meta add an empty line
|
|
258 |
addFormLine(metaTable, rows++, "", "");
|
253 |
259 |
|
254 |
260 |
plus.addClickHandler(new ClickHandler() {
|
255 |
261 |
|
256 |
262 |
@Override
|
257 |
|
public void onClick(ClickEvent event) {
|
|
263 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
258 |
264 |
addFormLine(metaTable, metaTable.getRowCount(), "", "");
|
259 |
265 |
}
|
260 |
266 |
});
|
... | ... | |
264 |
270 |
return generalPanel;
|
265 |
271 |
}
|
266 |
272 |
|
267 |
|
private void addFormLine(final FlexTable table, int row, String name, String value) {
|
|
273 |
void addFormLine(final FlexTable table, int row, String _name, String _value) {
|
268 |
274 |
TextBox nameBox = new TextBox();
|
269 |
|
nameBox.setText(name);
|
|
275 |
nameBox.setText(_name);
|
|
276 |
nameBox.addStyleName("pithos-metaName");
|
270 |
277 |
table.setWidget(row, 0, nameBox);
|
271 |
278 |
table.getFlexCellFormatter().setStyleName(1, 0, "props-values");
|
272 |
279 |
|
273 |
280 |
TextBox valueBox = new TextBox();
|
274 |
|
valueBox.setText(value);
|
|
281 |
valueBox.setText(_value);
|
|
282 |
valueBox.addStyleName("pithos-metaValue");
|
275 |
283 |
table.setWidget(row, 1, valueBox);
|
276 |
284 |
table.getFlexCellFormatter().setStyleName(1, 1, "props-values");
|
277 |
285 |
|
278 |
286 |
Image delete = new Image("images/delete.png");
|
279 |
|
delete.addStyleName("pithos-invitationDeleteImg");
|
|
287 |
delete.addStyleName("pithos-metaDeleteImg");
|
280 |
288 |
delete.addClickHandler(new ClickHandler() {
|
281 |
289 |
|
282 |
290 |
@Override
|
... | ... | |
412 |
420 |
for (int row = 1; row < metaTable.getRowCount(); row++) {
|
413 |
421 |
String key = ((TextBox) metaTable.getWidget(row, 0)).getText().trim();
|
414 |
422 |
String value = ((TextBox) metaTable.getWidget(row, 1)).getText().trim();
|
415 |
|
newMeta.put(key, value);
|
|
423 |
if (key.length() > 0 && value.length() > 0)
|
|
424 |
newMeta.put(key, value);
|
416 |
425 |
}
|
417 |
426 |
|
418 |
427 |
if (newFilename != null) {
|
... | ... | |
430 |
439 |
}
|
431 |
440 |
|
432 |
441 |
@Override
|
433 |
|
protected void onUnauthorized(Response response) {
|
|
442 |
protected void onUnauthorized(@SuppressWarnings("unused") Response response) {
|
434 |
443 |
app.sessionExpired();
|
435 |
444 |
}
|
436 |
445 |
};
|
... | ... | |
458 |
467 |
}
|
459 |
468 |
|
460 |
469 |
@Override
|
461 |
|
protected void onUnauthorized(Response response) {
|
|
470 |
protected void onUnauthorized(@SuppressWarnings("unused") Response response) {
|
462 |
471 |
app.sessionExpired();
|
463 |
472 |
}
|
464 |
473 |
};
|
465 |
474 |
updateFile.setHeader("X-Auth-Token", app.getToken());
|
466 |
|
for (String t : file.getMeta().keySet()) {
|
467 |
|
updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(t.trim()), "~");
|
|
475 |
|
|
476 |
if (newMeta != null) {
|
|
477 |
for (String t : file.getMeta().keySet()) {
|
|
478 |
updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(t.trim()), "~");
|
|
479 |
}
|
|
480 |
|
|
481 |
for (String key : newMeta.keySet())
|
|
482 |
updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(key.trim()), URL.encodePathSegment(newMeta.get(key)));
|
468 |
483 |
}
|
469 |
|
for (String key : newMeta.keySet())
|
470 |
|
updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(key.trim()), URL.encodePathSegment(newMeta.get(key)));
|
471 |
484 |
|
472 |
485 |
if (published != null)
|
473 |
486 |
updateFile.setHeader("X-Object-Public", published.toString());
|