public ClusterImpl clusterImpl;
public ClusterChange(ClusterStream clusterStream, ClusterImpl clusterImpl) {
+
this.clusterImpl = clusterImpl;
+
clusterUID = clusterImpl.getClusterUID();
long[] longs = new long[ClusterUID.getLongLength()];
clusterUID.toLong(longs, 0);
Bytes.writeLE(header, offset, longs[i]);
//initBuffer();
this.clusterStream = clusterStream;
- this.clusterChange2 = new ClusterChange2(clusterUID, clusterImpl);
+ this.clusterChange2 = new ClusterChange2(clusterUID);
clusterStream.changes.add(this);
}
+
+ public void adopt(ClusterImpl impl) {
+ this.clusterImpl = impl;
+ }
private void setHeaderVectorSize(int size) {
if (size < 0)
}
@Override
public String toString() {
- return super.toString() + " cluster=" + clusterImpl.getClusterUID() + " id=" + clusterImpl.getClusterId() + " off=" + byteIndex;
+ return super.toString() + " cluster=" + clusterUID + " id=" + clusterImpl.getClusterId() + " off=" + byteIndex;
}
private final void initBuffer() {
flushed = false;
}
if (0 != foreign) {
if (foreign > 256)
- throw new RuntimeDatabaseException("Internal error, contact application support." +
- "Too big foreing index=" + foreign + " max=256");
+ throw new RuntimeDatabaseException("Internal error." +
+ "Too big foreign index=" + foreign + " max=256");
--foreign;
bytes[byteIndex++] = foreign;
return ClusterEnum.ForeignShort;
if (DEBUG_STAT)
info.sForeign = foreignTable.size();
if (clusterUID.equals(ClusterUID.Null))
- throw new RuntimeDatabaseException("Internal error, contact application support." +
- "Cluster unique id not defined for foreing cluster.");
+ throw new RuntimeDatabaseException("Internal error." +
+ "Cluster unique id not defined for foreign cluster.");
addForeignLong(resourceIndex, clusterUID);
return ClusterEnum.ForeignLong;
}
left -= written;
checkBufferSpace(12);
}
+ // Possibly truncate file
+ modiValue(ri, length_, new byte[0], 0, 0);
return sum;
}