Modified metadata storage
This commit is contained in:
parent
7d66b8d73b
commit
7d164e10a6
3 changed files with 15 additions and 11 deletions
|
@ -1,7 +1,5 @@
|
|||
package pro.litvinovg.libreoffice.metadata;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class MetadataElement {
|
||||
|
||||
private String name;
|
||||
|
@ -20,5 +18,4 @@ public class MetadataElement {
|
|||
return value;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package pro.litvinovg.libreoffice.metadata;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
@ -66,12 +67,15 @@ public class OutlineElement {
|
|||
public void readMetadata(String data) {
|
||||
try {
|
||||
JSONObject json = new JSONObject(data);
|
||||
Iterator<String> names = json.keys();
|
||||
while (names.hasNext()) {
|
||||
String metaName = names.next();
|
||||
String metaValue = (String) json.get(metaName);
|
||||
metadata.add(new MetadataElement(metaName, metaValue));
|
||||
}
|
||||
Set<String> nums = json.keySet();
|
||||
for (String number : nums) {
|
||||
JSONObject meta = (JSONObject) json.get(number);
|
||||
Set<String> names = meta.keySet();
|
||||
for (String name: names) {
|
||||
String value = meta.getString(name);
|
||||
metadata.add(new MetadataElement(name, value));
|
||||
}
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
} catch (Exception e) {
|
||||
|
@ -81,11 +85,15 @@ public class OutlineElement {
|
|||
|
||||
private String metadataToString() {
|
||||
JSONObject json = new JSONObject();
|
||||
Integer i = 0;
|
||||
for (MetadataElement element : metadata) {
|
||||
String name = element.getName();
|
||||
String value = element.getValue();
|
||||
if (!name.isEmpty() && !value.isEmpty()) {
|
||||
json.put(element.getName(), element.getValue());
|
||||
JSONObject meta = new JSONObject();
|
||||
meta.put(element.getName(), element.getValue());
|
||||
json.put(i.toString(), meta);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return json.toString();
|
||||
|
|
|
@ -185,7 +185,6 @@ public class EditorGUI extends JFrame {
|
|||
tabbedPane.addTab("Метаданные либры", null, panelStandardMetadata, null);
|
||||
tabbedPane.setEnabledAt(0, true);
|
||||
|
||||
if (true) { addMetadataTab(new OutlineElement(null, "Тестовое название")); }
|
||||
|
||||
for (OutlineElement element : outline) {
|
||||
addMetadataTab(element);
|
||||
|
|
Loading…
Add table
Reference in a new issue