package org.hwo.pulscounter; import java.io.File; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Hashtable; import java.util.Iterator; import org.hwo.configuration.ConfigurableAttribute; import org.hwo.configuration.ConfigurableObject; import org.hwo.csv.CSV; import org.hwo.csv.CSVRecord; import org.hwo.interactiveobjects.InteractiveObject; import org.hwo.interactiveobjects.ObjectEditorUI; import org.hwo.models.TableMapper.TableColumn; import org.hwo.pulscounter.ui.ExportSettingsEditorDialog; @ObjectEditorUI(editor=ExportSettingsEditorDialog.class) @ConfigurableObject public class ExportSetting { @ConfigurableAttribute private String name; @ConfigurableAttribute private TriggerType triggerType; @ConfigurableAttribute private Integer triggerSource; @ConfigurableAttribute private String fileName; @ConfigurableAttribute private String path; @ConfigurableAttribute private Boolean extended; @ConfigurableAttribute private Boolean autostart; @ConfigurableAttribute private Boolean recordDelta; private SimpleDateFormat dateFormat; public ExportSetting() { this.dateFormat = new SimpleDateFormat(); this.name = "unbenannt"; this.path = "."; this.fileName = "synololog.csv"; this.triggerType = triggerType.ALL; this.triggerSource = 0; this.extended = false; this.autostart = false; this.recordDelta = false; } @TableColumn(label="Benennung",firstColumn=true) public String getName() { return name; } public void setName(String name) { this.name = name; } @TableColumn(label="Auslöser") public TriggerType getTriggerType() { return triggerType; } public void setTriggerType(TriggerType triggerType) { this.triggerType = triggerType; } @TableColumn(label="Dateiname") public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } @TableColumn(label="Verzeichnis") public String getPath() { return path; } public void setPath(String path) { this.path = path; } public Integer getTriggerSource() { return triggerSource; } public void setTriggerSource(Integer triggerSource) { this.triggerSource = triggerSource; } public Boolean getExtended() { return extended; } public void setExtended(Boolean extended) { this.extended = extended; } @TableColumn(label="Autostart",after="Auslöser") public Boolean getAutostart() { return autostart; } public void setAutostart(Boolean autostart) { this.autostart = autostart; } public Boolean getRecordDelta() { return recordDelta; } public void setRecordDelta(Boolean recordDelta) { this.recordDelta = recordDelta; } private String calculateFileName(String filename,SnapShot ss){ Date d = new Date(((long)ss.getTimestamp())*1000); Calendar c = Calendar.getInstance(); c.setTime(d); return filename .replaceAll("\\%Y", String.format("%04d", new Integer(c.get(Calendar.YEAR)))) .replaceAll("\\%M", String.format("%02d", new Integer(c.get(Calendar.MONTH)+1))) .replaceAll("\\%D", String.format("%02d", new Integer(c.get(Calendar.DAY_OF_MONTH)))); } public void export(){ // SnapshotManager ssm = PulsCounterApplication.getApplication().getSnapshotManager(); // // Hashtable hash = new Hashtable(); // // for (int n=0;n iter = csv.getRecords().iterator(); // // iter.next(); // // CSVRecord n = iter.next(); // Integer[] vals = new Integer[32]; // // for (int i=0;i<32;i++){ // vals[i] = n.getIntegerValue(extended ? i + 4 : i + 1 ); // } // // while (iter.hasNext()){ // n = iter.next(); // // for (int i=0;i<32;i++){ // Integer v = n.getIntegerValue(extended ? i + 4 : i + 1 ); // n.setValue(extended ? i + 4 : i + 1 , v - vals[i]); // vals[i] = v; // } // } // // csv.getRecords().remove(1); // // } // // // } // // // hash.get(fn).saveToFile(new File(path,fn)); // } } }