metadata-editor/source/pro/litvinovg/libreoffice/metadata/views/MetadataTableModel.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);
}
}