промежуточный.привожу в порядок индексы.
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package Common.Database.Tables;
|
||||
import Common.Database.Database;
|
||||
import Common.Database.Objects.DBObject;
|
||||
import _VisualDVM.TestingSystem.DVM.DVMConfigurationGroup.DVMConfigurationGroup;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Vector;
|
||||
public abstract class DBTable<K, D extends DBObject> extends DataSet<K, D> {
|
||||
//-
|
||||
public DBTableColumn PK = null;
|
||||
@@ -34,4 +36,31 @@ public abstract class DBTable<K, D extends DBObject> extends DataSet<K, D> {
|
||||
res.append(c).append("\n");
|
||||
return res.toString();
|
||||
}
|
||||
boolean vectorContains(D object, Vector<D> vector){
|
||||
for (D v_object: vector){
|
||||
if (isEqual(object,v_object))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void ActualizeData(Vector<D> old, Vector<D> actual) throws Exception {
|
||||
//привести данные вектора old в соответствие с вектором new
|
||||
//те, что в нем появились вставить, те что отсутствуют но есть в old удалить
|
||||
Vector<D> to_delete = new Vector<>();
|
||||
Vector<D> to_insert = new Vector<>();
|
||||
for (D object: old){
|
||||
if (!vectorContains(object, actual))
|
||||
to_delete.add(object);
|
||||
}
|
||||
for (D object : actual) {
|
||||
if (!vectorContains(object, old))
|
||||
to_insert.add(object);
|
||||
}
|
||||
db.BeginTransaction();
|
||||
for (D object: to_delete)
|
||||
db.Delete(object);
|
||||
for (D object: to_insert)
|
||||
db.Insert(object);
|
||||
db.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,4 +87,8 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
public boolean containsKey(Object key) {
|
||||
return Data.containsKey(key);
|
||||
}
|
||||
//--
|
||||
public boolean isEqual(D o1, D o2){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -581,4 +581,10 @@ public abstract class DataSetControlForm<D extends DBObject> extends ControlForm
|
||||
public boolean canModifyCurrent(TextLog Log) {
|
||||
return CheckCurrent(Log);
|
||||
}
|
||||
public void SelectKeys(Vector<?> keys_in) {
|
||||
for (Object key_ : keys_in)
|
||||
dataSource.get(key_).Select(true);
|
||||
if (!keys_in.isEmpty())
|
||||
Show(keys_in.lastElement());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user