35 lines
1.2 KiB
Java
35 lines
1.2 KiB
Java
package pro.litvinovg.libreoffice.metadata.views;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Enumeration;
|
|
import java.util.Vector;
|
|
|
|
import javax.swing.table.DefaultTableModel;
|
|
|
|
import pro.litvinovg.libreoffice.metadata.CustomDocumentProperty;
|
|
import pro.litvinovg.libreoffice.metadata.MetadataElement;
|
|
import pro.litvinovg.libreoffice.metadata.OutlineElement;
|
|
|
|
public class MetadataTableModel extends DefaultTableModel {
|
|
private OutlineElement outlineElement;
|
|
public MetadataTableModel(OutlineElement element) {
|
|
super(element.metadataToArray(), new String[] { "Metadata Name", "Metadata Value" });
|
|
this.outlineElement = element;
|
|
}
|
|
|
|
public void writeToOutline() {
|
|
Vector dataVector = this.getDataVector();
|
|
Enumeration elements = dataVector.elements();
|
|
ArrayList<MetadataElement> metadata = new ArrayList<MetadataElement>();
|
|
while (elements.hasMoreElements()) {
|
|
Vector row = (Vector) elements.nextElement();
|
|
String name = (String) row.get(0);
|
|
String value = (String) row.get(1);
|
|
|
|
if (name != null && !name.isEmpty() && value != null && !value.isEmpty()) {
|
|
metadata.add(new MetadataElement(name, value));
|
|
}
|
|
}
|
|
outlineElement.setMetadata(metadata);
|
|
}
|
|
}
|