package org.insightech.er.editor.model.testdata;
import java.util.LinkedHashMap;
import java.util.Map;
import org.insightech.er.editor.model.diagram_contents.element.node.table.ERTable;
public class TestData implements Cloneable, Comparable<TestData> {
public static final int EXPORT_FORMT_SQL = 0;
public static final int EXPORT_FORMT_DBUNIT = 1;
public static final int EXPORT_FORMT_DBUNIT_FLAT_XML = 2;
public static final int EXPORT_FORMT_DBUNIT_XLS = 3;
public static final int EXPORT_ORDER_DIRECT_TO_REPEAT = 0;
public static final int EXPORT_ORDER_REPEAT_TO_DIRECT = 1;
private String name;
private int exportOrder;
private Map<ERTable, TableTestData> tableTestDataMap;
public TestData() {
this.tableTestDataMap = new LinkedHashMap<ERTable, TableTestData>();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getExportOrder() {
return exportOrder;
}
public void setExportOrder(int exportOrder) {
this.exportOrder = exportOrder;
}
public Map<ERTable, TableTestData> getTableTestDataMap() {
return tableTestDataMap;
}
public void setTableTestDataMap(Map<ERTable, TableTestData> tableTestDataMap) {
this.tableTestDataMap = tableTestDataMap;
}
public void putTableTestData(ERTable table, TableTestData tableTestData) {
this.tableTestDataMap.put(table, tableTestData);
}
public boolean contains(ERTable table) {
return this.tableTestDataMap.containsKey(table);
}
public ERTable get(int index) {
int i = 0;
for (ERTable table : this.tableTestDataMap.keySet()) {
if (i == index) {
return table;
}
i++;
}
return null;
}
public void removeTableTestData(int index) {
int i = 0;
for (ERTable table : this.tableTestDataMap.keySet()) {
if (i == index) {
this.tableTestDataMap.remove(table);
break;
}
i++;
}
}
@Override
public TestData clone() {
TestData clone = new TestData();
clone.name = this.name;
clone.exportOrder = this.exportOrder;
for (Map.Entry<ERTable, TableTestData> entry : this.tableTestDataMap
.entrySet()) {
TableTestData cloneTableTestData = entry.getValue().clone();
clone.tableTestDataMap.put(entry.getKey(), cloneTableTestData);
}
return clone;
}
public int compareTo(TestData other) {
if (other == null) {
return -1;
}
if (this.name == null) {
return 1;
}
if (other.name == null) {
return -1;
}
return this.name.toUpperCase().compareTo(other.name.toUpperCase());
}
}