fix serialization issue
This commit is contained in:
@ -37,8 +37,6 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
protected IDatabase database;
|
||||
|
||||
private List<RelationType> usedRelationsList = new ArrayList<>();
|
||||
|
||||
private IWaveformDb db;
|
||||
|
||||
private ScvSimProps scvSimProps;
|
||||
|
||||
@ -63,7 +61,7 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
List<IWaveform> streams=new ArrayList<>();
|
||||
try {
|
||||
for(ScvStream scvStream:handler.selectObjects()){
|
||||
TxStream stream = new TxStream(database, db, scvStream);
|
||||
TxStream stream = new TxStream(database, scvStream);
|
||||
stream.setRelationTypeList(usedRelationsList);
|
||||
streams.add(stream);
|
||||
}
|
||||
@ -78,7 +76,6 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
@Override
|
||||
public boolean load(IWaveformDb db, File file) throws InputFormatException {
|
||||
if(file.isDirectory() || !file.exists()) return false;
|
||||
this.db=db;
|
||||
try(FileInputStream fis = new FileInputStream(file)) {
|
||||
byte[] buffer = new byte[x.length];
|
||||
int read = fis.read(buffer, 0, x.length);
|
||||
@ -88,7 +85,7 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
} catch(IOException e) {
|
||||
return false;
|
||||
}
|
||||
database=new SQLiteDatabase(file.getAbsolutePath());
|
||||
database=new SQLiteDatabase(file.getAbsolutePath(), db);
|
||||
database.setData("TIMERESOLUTION", 1L);
|
||||
SQLiteDatabaseSelectHandler<ScvSimProps> handler = new SQLiteDatabaseSelectHandler<>(ScvSimProps.class, database);
|
||||
try {
|
||||
|
@ -164,7 +164,7 @@ public class Tx implements ITx {
|
||||
List<ScvStream> streams = new SQLiteDatabaseSelectHandler<ScvStream>(ScvStream.class, database,
|
||||
"id="+res.get(0).getStream()).selectObjects();
|
||||
if(streams.size()!=1) return null;
|
||||
TxStream tgtStream = (TxStream) trStream.getDb().getStreamByName(streams.get(0).getName());
|
||||
TxStream tgtStream = (TxStream) database.getWaveformDb().getStreamByName(streams.get(0).getName());
|
||||
Tx that = (Tx) tgtStream.getTransactions().get(otherId);
|
||||
if(outgoing)
|
||||
return new TxRelation(trStream.getRelationType(rel.getName()), this, that);
|
||||
|
@ -41,8 +41,6 @@ public class TxStream extends HierNode implements IWaveform {
|
||||
|
||||
private String fullName;
|
||||
|
||||
private IWaveformDb db;
|
||||
|
||||
private ScvStream scvStream;
|
||||
|
||||
private TreeMap<Integer, TxGenerator> generators;
|
||||
@ -55,17 +53,11 @@ public class TxStream extends HierNode implements IWaveform {
|
||||
|
||||
private List<RelationType> usedRelationsList;
|
||||
|
||||
public TxStream(IDatabase database, IWaveformDb waveformDb, ScvStream scvStream) {
|
||||
public TxStream(IDatabase database, ScvStream scvStream) {
|
||||
super(scvStream.getName());
|
||||
this.database=database;
|
||||
fullName=scvStream.getName();
|
||||
this.scvStream=scvStream;
|
||||
db=waveformDb;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IWaveformDb getDb() {
|
||||
return db;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,6 +16,8 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
import com.minres.scviewer.database.IWaveformDb;
|
||||
|
||||
/**
|
||||
*
|
||||
* Creates a connection to a database.
|
||||
@ -58,4 +60,6 @@ public interface IDatabase {
|
||||
public void setData(String name, Object value);
|
||||
|
||||
public Object getData(String name);
|
||||
|
||||
public IWaveformDb getWaveformDb();
|
||||
}
|
@ -20,10 +20,14 @@ import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.minres.scviewer.database.IWaveformDb;
|
||||
|
||||
public class SQLiteDatabase implements IDatabase {
|
||||
|
||||
protected String dbFileName;
|
||||
|
||||
protected IWaveformDb waveformDb;
|
||||
|
||||
protected HashMap<String, Object> props;
|
||||
|
||||
static {
|
||||
@ -39,9 +43,10 @@ public class SQLiteDatabase implements IDatabase {
|
||||
}
|
||||
}
|
||||
|
||||
public SQLiteDatabase(String dbFileName) {
|
||||
public SQLiteDatabase(String dbFileName, IWaveformDb waveformDb) {
|
||||
super();
|
||||
this.dbFileName = dbFileName;
|
||||
this.waveformDb = waveformDb;
|
||||
props = new HashMap<String, Object>();
|
||||
}
|
||||
|
||||
@ -89,4 +94,9 @@ public class SQLiteDatabase implements IDatabase {
|
||||
return props.get(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IWaveformDb getWaveformDb() {
|
||||
return waveformDb;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user