import java.util.List;\r
import java.util.Map;\r
\r
-import org.apache.commons.collections.map.HashedMap;\r
-\r
import com.google.gwt.core.client.GWT;\r
import com.google.gwt.core.client.Scheduler;\r
import com.google.gwt.event.dom.client.ClickEvent;\r
\r
Images images = GWT.create(Images.class);\r
\r
- private FlexTable metaTable;\r
+ FlexTable metaTable;\r
/**\r
* The widget's constructor.\r
*/\r
close.addClickHandler(new ClickHandler() {\r
\r
@Override\r
- public void onClick(ClickEvent event) {\r
+ public void onClick(@SuppressWarnings("unused") ClickEvent event) {\r
hide();\r
}\r
});\r
}\r
\r
@Override\r
- protected void onUnauthorized(Response response) {\r
+ protected void onUnauthorized(@SuppressWarnings("unused") Response response) {\r
app.sessionExpired();\r
}\r
};\r
\r
generalPanel.add(generalTable);\r
\r
+ HorizontalPanel metaTitlePanel = new HorizontalPanel();\r
+ metaTitlePanel.setSpacing(5);\r
Label meta = new Label("Meta data");\r
- generalPanel.add(meta);\r
+ meta.addStyleName("pithos-metaTitle");\r
+ metaTitlePanel.add(meta);\r
+ \r
Image plus = new Image("images/plus.png");\r
- plus.addStyleName("pithos-addInvitationImg");\r
- generalPanel.add(plus);\r
+ plus.addStyleName("pithos-addMetaImg");\r
+ metaTitlePanel.add(plus);\r
+ \r
+ generalPanel.add(metaTitlePanel);\r
\r
metaTable = new FlexTable();\r
metaTable.setCellSpacing(0);\r
for (String metaKey : file.getMeta().keySet()) {\r
addFormLine(metaTable, rows++, metaKey, file.getMeta().get(metaKey));\r
}\r
+ if (rows == 1) //If no meta add an empty line\r
+ addFormLine(metaTable, rows++, "", "");\r
\r
plus.addClickHandler(new ClickHandler() {\r
\r
@Override\r
- public void onClick(ClickEvent event) {\r
+ public void onClick(@SuppressWarnings("unused") ClickEvent event) {\r
addFormLine(metaTable, metaTable.getRowCount(), "", "");\r
}\r
});\r
return generalPanel;\r
}\r
\r
- private void addFormLine(final FlexTable table, int row, String name, String value) {\r
+ void addFormLine(final FlexTable table, int row, String _name, String _value) {\r
TextBox nameBox = new TextBox();\r
- nameBox.setText(name);\r
+ nameBox.setText(_name);\r
+ nameBox.addStyleName("pithos-metaName");\r
table.setWidget(row, 0, nameBox);\r
table.getFlexCellFormatter().setStyleName(1, 0, "props-values");\r
\r
TextBox valueBox = new TextBox();\r
- valueBox.setText(value);\r
+ valueBox.setText(_value);\r
+ valueBox.addStyleName("pithos-metaValue");\r
table.setWidget(row, 1, valueBox);\r
table.getFlexCellFormatter().setStyleName(1, 1, "props-values");\r
\r
Image delete = new Image("images/delete.png");\r
- delete.addStyleName("pithos-invitationDeleteImg");\r
+ delete.addStyleName("pithos-metaDeleteImg");\r
delete.addClickHandler(new ClickHandler() {\r
\r
@Override\r
for (int row = 1; row < metaTable.getRowCount(); row++) {\r
String key = ((TextBox) metaTable.getWidget(row, 0)).getText().trim();\r
String value = ((TextBox) metaTable.getWidget(row, 1)).getText().trim();\r
- newMeta.put(key, value);\r
+ if (key.length() > 0 && value.length() > 0)\r
+ newMeta.put(key, value);\r
}\r
\r
if (newFilename != null) {\r
}\r
\r
@Override\r
- protected void onUnauthorized(Response response) {\r
+ protected void onUnauthorized(@SuppressWarnings("unused") Response response) {\r
app.sessionExpired();\r
}\r
};\r
}\r
\r
@Override\r
- protected void onUnauthorized(Response response) {\r
+ protected void onUnauthorized(@SuppressWarnings("unused") Response response) {\r
app.sessionExpired();\r
}\r
};\r
updateFile.setHeader("X-Auth-Token", app.getToken());\r
- for (String t : file.getMeta().keySet()) {\r
- updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(t.trim()), "~");\r
+ \r
+ if (newMeta != null) {\r
+ for (String t : file.getMeta().keySet()) {\r
+ updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(t.trim()), "~");\r
+ }\r
+ \r
+ for (String key : newMeta.keySet())\r
+ updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(key.trim()), URL.encodePathSegment(newMeta.get(key)));\r
}\r
- for (String key : newMeta.keySet())\r
- updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(key.trim()), URL.encodePathSegment(newMeta.get(key)));\r
\r
if (published != null)\r
updateFile.setHeader("X-Object-Public", published.toString());\r