link start!
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.BObject;
|
||||
import javax.baja.sys.Sys;
|
||||
import javax.baja.sys.Type;
|
||||
|
||||
/*
|
||||
* Illegal identifiers - consider using --renameillegalidents true
|
||||
*/
|
||||
public class BDataRow
|
||||
extends BObject {
|
||||
public static final Type TYPE;
|
||||
private BIDataTable table;
|
||||
private int row;
|
||||
static /* synthetic */ Class class$com$tridium$data$BDataRow;
|
||||
|
||||
public Type getType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
public BDataRow copy() {
|
||||
return new BDataRow(this.table, this.row);
|
||||
}
|
||||
|
||||
public void setRow(int n) {
|
||||
this.row = n;
|
||||
}
|
||||
|
||||
public BObject get(Column column) {
|
||||
return this.table.get(this.row, column);
|
||||
}
|
||||
|
||||
public String getString(Column column) {
|
||||
return this.table.getString(this.row, column);
|
||||
}
|
||||
|
||||
public double getDouble(Column column) {
|
||||
return this.table.getDouble(this.row, column);
|
||||
}
|
||||
|
||||
public float getFloat(Column column) {
|
||||
return this.table.getFloat(this.row, column);
|
||||
}
|
||||
|
||||
public int getInt(Column column) {
|
||||
return this.table.getInt(this.row, column);
|
||||
}
|
||||
|
||||
public long getLong(Column column) {
|
||||
return this.table.getLong(this.row, column);
|
||||
}
|
||||
|
||||
public boolean getBoolean(Column column) {
|
||||
return this.table.getBoolean(this.row, column);
|
||||
}
|
||||
|
||||
public int getFlags(Column column) {
|
||||
return this.table.getFlags(this.row, column);
|
||||
}
|
||||
|
||||
public BFacets getFacets(Column column) {
|
||||
return this.table.getFacets(this.row, column);
|
||||
}
|
||||
|
||||
static /* synthetic */ Class class(String string, boolean bl) {
|
||||
try {
|
||||
Class<?> clazz = Class.forName(string);
|
||||
if (!bl) {
|
||||
clazz = clazz.getComponentType();
|
||||
}
|
||||
return clazz;
|
||||
}
|
||||
catch (ClassNotFoundException classNotFoundException) {
|
||||
throw new NoClassDefFoundError(classNotFoundException.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public BDataRow(BIDataTable bIDataTable, int n) {
|
||||
this.table = bIDataTable;
|
||||
this.row = n;
|
||||
}
|
||||
|
||||
static {
|
||||
Class clazz = class$com$tridium$data$BDataRow;
|
||||
if (clazz == null) {
|
||||
clazz = class$com$tridium$data$BDataRow = BDataRow.class("[Lcom.tridium.data.BDataRow;", false);
|
||||
}
|
||||
TYPE = Sys.loadType(clazz);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,539 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import com.tridium.collection.BISortableTable;
|
||||
import com.tridium.data.BDataRow;
|
||||
import com.tridium.data.DataColumnList;
|
||||
import com.tridium.data.DataTableCursor;
|
||||
import javax.baja.collection.BICollection;
|
||||
import javax.baja.collection.BIList;
|
||||
import javax.baja.collection.BITable;
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.collection.ColumnList;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.data.BIDataValue;
|
||||
import javax.baja.sys.BBoolean;
|
||||
import javax.baja.sys.BDouble;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.BFloat;
|
||||
import javax.baja.sys.BInteger;
|
||||
import javax.baja.sys.BLong;
|
||||
import javax.baja.sys.BObject;
|
||||
import javax.baja.sys.BString;
|
||||
import javax.baja.sys.Context;
|
||||
import javax.baja.sys.Cursor;
|
||||
import javax.baja.sys.Sys;
|
||||
import javax.baja.sys.Type;
|
||||
import javax.baja.util.IFilter;
|
||||
import javax.baja.util.SortUtil;
|
||||
|
||||
/*
|
||||
* Illegal identifiers - consider using --renameillegalidents true
|
||||
*/
|
||||
public final class BDataTable
|
||||
extends BObject
|
||||
implements BIDataTable,
|
||||
BISortableTable {
|
||||
public static final Type TYPE;
|
||||
private BFacets tableFacets;
|
||||
private DataColumnList columnList;
|
||||
private int rowCount;
|
||||
private int bufferSize;
|
||||
private int colIndex;
|
||||
private BDataRow rowObject;
|
||||
static /* synthetic */ Class class$com$tridium$data$BDataTable;
|
||||
|
||||
public final BICollection filter(IFilter iFilter) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public final BITable sort(Column column, boolean bl) {
|
||||
BDataTable bDataTable = new BDataTable();
|
||||
Object[] objectArray = (BDataRow[])this.list();
|
||||
Object[] objectArray2 = new BObject[this.size()];
|
||||
int n = 0;
|
||||
while (n < this.size()) {
|
||||
objectArray2[n] = (BObject)((Object)((DataColumn)column).get(n));
|
||||
++n;
|
||||
}
|
||||
SortUtil.sort(objectArray2, objectArray, bl);
|
||||
bDataTable.setTableFacets(this.getTableFacets());
|
||||
n = 0;
|
||||
while (n < this.columnList.size()) {
|
||||
Column column2 = this.columnList.get(n);
|
||||
bDataTable.addColumn(column2.getName(), column2.getDisplayName(null), column2.getType(), column2.getFlags(), column2.getFacets());
|
||||
++n;
|
||||
}
|
||||
bDataTable.startRows(this.size());
|
||||
n = 0;
|
||||
while (n < this.size()) {
|
||||
bDataTable.startRow();
|
||||
int n2 = 0;
|
||||
while (n2 < this.columnList.size()) {
|
||||
Column column3 = this.columnList.get(n2);
|
||||
BFacets bFacets = ((BDataRow)objectArray[n]).getFacets(column3);
|
||||
char c = column3.getType().getDataTypeSymbol();
|
||||
switch (c) {
|
||||
case 'd': {
|
||||
double d = ((BDataRow)objectArray[n]).getDouble(column3);
|
||||
bDataTable.set(d, bFacets);
|
||||
break;
|
||||
}
|
||||
case 'f': {
|
||||
float f = ((BDataRow)objectArray[n]).getFloat(column3);
|
||||
bDataTable.set(f, bFacets);
|
||||
break;
|
||||
}
|
||||
case 'b': {
|
||||
boolean bl2 = ((BDataRow)objectArray[n]).getBoolean(column3);
|
||||
bDataTable.set(bl2, bFacets);
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
String string = ((BDataRow)objectArray[n]).getString(column3);
|
||||
bDataTable.set(string, bFacets);
|
||||
break;
|
||||
}
|
||||
case 'i': {
|
||||
int n3 = ((BDataRow)objectArray[n]).getInt(column3);
|
||||
bDataTable.set(n3, bFacets);
|
||||
break;
|
||||
}
|
||||
case 'l': {
|
||||
long l = ((BDataRow)objectArray[n]).getLong(column3);
|
||||
bDataTable.set(l, bFacets);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
BIDataValue bIDataValue = (BIDataValue)((Object)((BDataRow)objectArray[n]).get(column3));
|
||||
bDataTable.set(bIDataValue, bFacets);
|
||||
}
|
||||
}
|
||||
++n2;
|
||||
}
|
||||
bDataTable.endRow();
|
||||
++n;
|
||||
}
|
||||
bDataTable.endRows();
|
||||
return bDataTable;
|
||||
}
|
||||
|
||||
public final Cursor cursor() {
|
||||
return new DataTableCursor(this);
|
||||
}
|
||||
|
||||
public final BIList toList() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public final BObject[] list() {
|
||||
int n = this.size();
|
||||
BObject[] bObjectArray = new BDataRow[n];
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
bObjectArray[n2] = ((BDataRow)this.get(n2)).copy();
|
||||
++n2;
|
||||
}
|
||||
return bObjectArray;
|
||||
}
|
||||
|
||||
public final BObject[] list(BObject[] bObjectArray) {
|
||||
return this.list();
|
||||
}
|
||||
|
||||
public final BObject get(int n) {
|
||||
if (this.rowObject == null) {
|
||||
this.rowObject = new BDataRow(this, n);
|
||||
} else {
|
||||
this.rowObject.setRow(n);
|
||||
}
|
||||
return this.rowObject;
|
||||
}
|
||||
|
||||
public final BITable toTable() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public final ColumnList getColumns() {
|
||||
return this.columnList;
|
||||
}
|
||||
|
||||
public final BObject get(int n, Column column) {
|
||||
return (BObject)((Object)((DataColumn)column).get(n));
|
||||
}
|
||||
|
||||
public final String getString(int n, Column column) {
|
||||
return ((DataColumn)column).getString(n);
|
||||
}
|
||||
|
||||
public final double getDouble(int n, Column column) {
|
||||
return ((DataColumn)column).getDouble(n);
|
||||
}
|
||||
|
||||
public final float getFloat(int n, Column column) {
|
||||
return ((DataColumn)column).getFloat(n);
|
||||
}
|
||||
|
||||
public final int getInt(int n, Column column) {
|
||||
return ((DataColumn)column).getInt(n);
|
||||
}
|
||||
|
||||
public final long getLong(int n, Column column) {
|
||||
return ((DataColumn)column).getLong(n);
|
||||
}
|
||||
|
||||
public final boolean getBoolean(int n, Column column) {
|
||||
return ((DataColumn)column).getBoolean(n);
|
||||
}
|
||||
|
||||
public final int getFlags(int n, Column column) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public final BFacets getFacets(int n, Column column) {
|
||||
return BFacets.NULL;
|
||||
}
|
||||
|
||||
public final BFacets getTableFacets() {
|
||||
return this.tableFacets;
|
||||
}
|
||||
|
||||
public final int size() {
|
||||
return this.rowCount;
|
||||
}
|
||||
|
||||
public final void setTableFacets(BFacets bFacets) {
|
||||
this.tableFacets = bFacets;
|
||||
}
|
||||
|
||||
public final void addColumn(String string, Type type, int n, BFacets bFacets) {
|
||||
this.addColumn(string, string, type, n, bFacets);
|
||||
}
|
||||
|
||||
public final void addColumn(String string, String string2, Type type, int n, BFacets bFacets) {
|
||||
if (this.columnList == null) {
|
||||
this.columnList = new DataColumnList();
|
||||
}
|
||||
this.columnList.addColumn(new DataColumn(string, string2, type, n, bFacets));
|
||||
}
|
||||
|
||||
public final void startRows() {
|
||||
this.startRows(32);
|
||||
}
|
||||
|
||||
public final void startRows(int n) {
|
||||
this.bufferSize = n;
|
||||
int n2 = this.columnList.size();
|
||||
int n3 = 0;
|
||||
while (n3 < n2) {
|
||||
((DataColumn)this.columnList.get(n3)).init(this.bufferSize);
|
||||
++n3;
|
||||
}
|
||||
this.rowCount = 0;
|
||||
}
|
||||
|
||||
public final void startRow() {
|
||||
if (this.rowCount != 0 && this.colIndex < this.columnList.size()) {
|
||||
throw new IllegalStateException("Cannot start a new row until the previous row is complete.");
|
||||
}
|
||||
this.colIndex = 0;
|
||||
if (this.rowCount == this.bufferSize) {
|
||||
int n = this.bufferSize * 2;
|
||||
int n2 = this.columnList.size();
|
||||
int n3 = 0;
|
||||
while (n3 < n2) {
|
||||
((DataColumn)this.columnList.get(n3)).grow(n, this.rowCount);
|
||||
++n3;
|
||||
}
|
||||
this.bufferSize = n;
|
||||
}
|
||||
}
|
||||
|
||||
public final void endRow() {
|
||||
if (this.colIndex != this.columnList.size()) {
|
||||
throw new IllegalStateException("Cannot end a row until all columns have been set.");
|
||||
}
|
||||
++this.rowCount;
|
||||
}
|
||||
|
||||
public final void endRows() {
|
||||
if ((this.rowCount != 0 || this.colIndex != 0) && this.colIndex != this.columnList.size()) {
|
||||
throw new IllegalStateException("Cannot end rows until the last column is complete.");
|
||||
}
|
||||
}
|
||||
|
||||
public final void set(double d, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, d, bFacets);
|
||||
}
|
||||
|
||||
public final void set(float f, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, f, bFacets);
|
||||
}
|
||||
|
||||
public final void set(boolean bl, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, bl, bFacets);
|
||||
}
|
||||
|
||||
public final void set(String string, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, string, bFacets);
|
||||
}
|
||||
|
||||
public final void set(int n, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, n, bFacets);
|
||||
}
|
||||
|
||||
public final void set(long l, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, l, bFacets);
|
||||
}
|
||||
|
||||
public final void set(BIDataValue bIDataValue, BFacets bFacets) {
|
||||
((DataColumn)this.columnList.get(this.colIndex++)).set(this.rowCount, bIDataValue, bFacets);
|
||||
}
|
||||
|
||||
public final Type getType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
static /* synthetic */ Class class(String string, boolean bl) {
|
||||
try {
|
||||
Class<?> clazz = Class.forName(string);
|
||||
if (!bl) {
|
||||
clazz = clazz.getComponentType();
|
||||
}
|
||||
return clazz;
|
||||
}
|
||||
catch (ClassNotFoundException classNotFoundException) {
|
||||
throw new NoClassDefFoundError(classNotFoundException.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private final /* synthetic */ void this() {
|
||||
this.rowCount = 0;
|
||||
this.colIndex = 0;
|
||||
}
|
||||
|
||||
public BDataTable() {
|
||||
this.this();
|
||||
}
|
||||
|
||||
static {
|
||||
Class clazz = class$com$tridium$data$BDataTable;
|
||||
if (clazz == null) {
|
||||
clazz = class$com$tridium$data$BDataTable = BDataTable.class("[Lcom.tridium.data.BDataTable;", false);
|
||||
}
|
||||
TYPE = Sys.loadType(clazz);
|
||||
}
|
||||
|
||||
static class DataColumn
|
||||
implements Column {
|
||||
public String name;
|
||||
public String displayName;
|
||||
public Type type;
|
||||
public int flags;
|
||||
public BFacets facets;
|
||||
public Object rowData;
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getDisplayName(Context context) {
|
||||
return this.displayName;
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public int getFlags() {
|
||||
return this.flags;
|
||||
}
|
||||
|
||||
public BFacets getFacets() {
|
||||
return this.facets;
|
||||
}
|
||||
|
||||
public void init(int n) {
|
||||
char c = this.type.getDataTypeSymbol();
|
||||
switch (c) {
|
||||
case 'd': {
|
||||
this.rowData = new double[n];
|
||||
break;
|
||||
}
|
||||
case 'f': {
|
||||
this.rowData = new float[n];
|
||||
break;
|
||||
}
|
||||
case 'b': {
|
||||
this.rowData = new boolean[n];
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
this.rowData = new String[n];
|
||||
break;
|
||||
}
|
||||
case 'i': {
|
||||
this.rowData = new int[n];
|
||||
break;
|
||||
}
|
||||
case 'l': {
|
||||
this.rowData = new long[n];
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
this.rowData = new BIDataValue[n];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void grow(int n, int n2) {
|
||||
char c = this.type.getDataTypeSymbol();
|
||||
Object[] objectArray = null;
|
||||
switch (c) {
|
||||
case 'd': {
|
||||
objectArray = new double[n];
|
||||
break;
|
||||
}
|
||||
case 'f': {
|
||||
objectArray = new float[n];
|
||||
break;
|
||||
}
|
||||
case 'b': {
|
||||
objectArray = new boolean[n];
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
objectArray = new String[n];
|
||||
break;
|
||||
}
|
||||
case 'i': {
|
||||
objectArray = new int[n];
|
||||
break;
|
||||
}
|
||||
case 'l': {
|
||||
objectArray = new long[n];
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
objectArray = new BIDataValue[n];
|
||||
}
|
||||
}
|
||||
System.arraycopy(this.rowData, 0, objectArray, 0, n2);
|
||||
this.rowData = objectArray;
|
||||
}
|
||||
|
||||
public BIDataValue get(int n) {
|
||||
char c = this.type.getDataTypeSymbol();
|
||||
if (c == 'd') {
|
||||
return BDouble.make(this.getDouble(n));
|
||||
}
|
||||
if (c == 'f') {
|
||||
return BFloat.make(this.getFloat(n));
|
||||
}
|
||||
if (c == 'b') {
|
||||
return BBoolean.make(this.getBoolean(n));
|
||||
}
|
||||
if (c == 's') {
|
||||
return BString.make(this.getString(n));
|
||||
}
|
||||
if (c == 'i') {
|
||||
return BInteger.make(this.getInt(n));
|
||||
}
|
||||
if (c == 'l') {
|
||||
return BLong.make(this.getLong(n));
|
||||
}
|
||||
return ((BIDataValue[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public double getDouble(int n) {
|
||||
return ((double[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public float getFloat(int n) {
|
||||
return ((float[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public boolean getBoolean(int n) {
|
||||
return ((boolean[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public int getInt(int n) {
|
||||
return ((int[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public long getLong(int n) {
|
||||
return ((long[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public String getString(int n) {
|
||||
return ((String[])this.rowData)[n];
|
||||
}
|
||||
|
||||
public void set(int n, double d, BFacets bFacets) {
|
||||
try {
|
||||
((double[])this.rowData)[n] = d;
|
||||
}
|
||||
catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void set(int n, float f, BFacets bFacets) {
|
||||
try {
|
||||
((float[])this.rowData)[n] = f;
|
||||
}
|
||||
catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void set(int n, boolean bl, BFacets bFacets) {
|
||||
((boolean[])this.rowData)[n] = bl;
|
||||
}
|
||||
|
||||
public void set(int n, String string, BFacets bFacets) {
|
||||
((String[])this.rowData)[n] = string;
|
||||
}
|
||||
|
||||
public void set(int n, int n2, BFacets bFacets) {
|
||||
((int[])this.rowData)[n] = n2;
|
||||
}
|
||||
|
||||
public void set(int n, long l, BFacets bFacets) {
|
||||
((long[])this.rowData)[n] = l;
|
||||
}
|
||||
|
||||
public void set(int n, BIDataValue bIDataValue, BFacets bFacets) {
|
||||
char c = this.type.getDataTypeSymbol();
|
||||
if (c == 's') {
|
||||
this.set(n, ((BString)bIDataValue).toString(), bFacets);
|
||||
} else if (c == 'b') {
|
||||
this.set(n, ((BBoolean)bIDataValue).getBoolean(), bFacets);
|
||||
} else if (c == 'i') {
|
||||
this.set(n, ((BInteger)bIDataValue).getInt(), bFacets);
|
||||
} else if (c == 'l') {
|
||||
this.set(n, ((BLong)bIDataValue).getLong(), bFacets);
|
||||
} else if (c == 'f') {
|
||||
this.set(n, ((BFloat)bIDataValue).getFloat(), bFacets);
|
||||
} else if (c == 'd') {
|
||||
this.set(n, ((BDouble)bIDataValue).getDouble(), bFacets);
|
||||
} else {
|
||||
((BIDataValue[])this.rowData)[n] = bIDataValue;
|
||||
}
|
||||
}
|
||||
|
||||
public DataColumn(String string, String string2, Type type, int n, BFacets bFacets) {
|
||||
this.name = string;
|
||||
this.displayName = string2;
|
||||
this.type = type;
|
||||
this.flags = n;
|
||||
this.facets = bFacets;
|
||||
if (this.type == null) {
|
||||
this.type = BString.TYPE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,486 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import com.tridium.data.BDataRow;
|
||||
import com.tridium.data.DataColumnList;
|
||||
import javax.baja.collection.BICollection;
|
||||
import javax.baja.collection.BIList;
|
||||
import javax.baja.collection.BITable;
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.collection.ColumnList;
|
||||
import javax.baja.collection.TableCursor;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.sys.BBoolean;
|
||||
import javax.baja.sys.BDouble;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.BFloat;
|
||||
import javax.baja.sys.BInteger;
|
||||
import javax.baja.sys.BLong;
|
||||
import javax.baja.sys.BObject;
|
||||
import javax.baja.sys.BString;
|
||||
import javax.baja.sys.BValue;
|
||||
import javax.baja.sys.Context;
|
||||
import javax.baja.sys.Cursor;
|
||||
import javax.baja.sys.Sys;
|
||||
import javax.baja.sys.Type;
|
||||
import javax.baja.util.IFilter;
|
||||
|
||||
/*
|
||||
* Illegal identifiers - consider using --renameillegalidents true
|
||||
*/
|
||||
public class BToDataTable
|
||||
extends BObject
|
||||
implements BIDataTable {
|
||||
public static final Type TYPE;
|
||||
private BITable innerTable;
|
||||
private DataColumnList columns;
|
||||
private BDataRow rowObject;
|
||||
static /* synthetic */ Class class$com$tridium$data$BToDataTable;
|
||||
|
||||
public static BIDataTable toDataTable(BITable bITable) {
|
||||
if (bITable instanceof BIDataTable) {
|
||||
return (BIDataTable)bITable;
|
||||
}
|
||||
return new BToDataTable(bITable);
|
||||
}
|
||||
|
||||
public BICollection filter(IFilter iFilter) {
|
||||
return new BToDataTable(this.innerTable.filter(iFilter).toTable());
|
||||
}
|
||||
|
||||
public Cursor cursor() {
|
||||
return new ToDataCursor(this, (TableCursor)this.innerTable.cursor());
|
||||
}
|
||||
|
||||
public BIList toList() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return this.innerTable.size();
|
||||
}
|
||||
|
||||
public BObject get(int n) {
|
||||
if (this.rowObject == null) {
|
||||
this.rowObject = new BDataRow(this, n);
|
||||
} else {
|
||||
this.rowObject.setRow(n);
|
||||
}
|
||||
return this.rowObject;
|
||||
}
|
||||
|
||||
public BObject[] list() {
|
||||
int n = this.size();
|
||||
BObject[] bObjectArray = new BDataRow[n];
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
bObjectArray[n2] = ((BDataRow)this.get(n2)).copy();
|
||||
++n2;
|
||||
}
|
||||
return bObjectArray;
|
||||
}
|
||||
|
||||
public BObject[] list(BObject[] bObjectArray) {
|
||||
return this.list();
|
||||
}
|
||||
|
||||
public BITable toTable() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public BFacets getTableFacets() {
|
||||
return this.innerTable.getTableFacets();
|
||||
}
|
||||
|
||||
public ColumnList getColumns() {
|
||||
return this.columns;
|
||||
}
|
||||
|
||||
public BObject get(int n, Column column) {
|
||||
return ((TranslatedColumn)column).get(n, this.innerTable);
|
||||
}
|
||||
|
||||
public String getString(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getString(n, this.innerTable);
|
||||
}
|
||||
|
||||
public double getDouble(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getDouble(n, this.innerTable);
|
||||
}
|
||||
|
||||
public float getFloat(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getFloat(n, this.innerTable);
|
||||
}
|
||||
|
||||
public boolean getBoolean(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getBoolean(n, this.innerTable);
|
||||
}
|
||||
|
||||
public int getInt(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getInt(n, this.innerTable);
|
||||
}
|
||||
|
||||
public long getLong(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getLong(n, this.innerTable);
|
||||
}
|
||||
|
||||
public int getFlags(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getFlags(n, this.innerTable);
|
||||
}
|
||||
|
||||
public BFacets getFacets(int n, Column column) {
|
||||
return ((TranslatedColumn)column).getFacets(n, this.innerTable);
|
||||
}
|
||||
|
||||
public Column translateColumn(Column column) {
|
||||
Type type = column.getType();
|
||||
if (type.isDataType()) {
|
||||
return new IsDataColumn(column);
|
||||
}
|
||||
return new ToDataColumn(column);
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
static /* synthetic */ Class class(String string, boolean bl) {
|
||||
try {
|
||||
Class<?> clazz = Class.forName(string);
|
||||
if (!bl) {
|
||||
clazz = clazz.getComponentType();
|
||||
}
|
||||
return clazz;
|
||||
}
|
||||
catch (ClassNotFoundException classNotFoundException) {
|
||||
throw new NoClassDefFoundError(classNotFoundException.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public BToDataTable(BITable bITable) {
|
||||
this.innerTable = bITable;
|
||||
ColumnList columnList = this.innerTable.getColumns();
|
||||
int n = columnList.size();
|
||||
this.columns = new DataColumnList();
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
this.columns.addColumn(this.translateColumn(columnList.get(n2)));
|
||||
++n2;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
Class clazz = class$com$tridium$data$BToDataTable;
|
||||
if (clazz == null) {
|
||||
clazz = class$com$tridium$data$BToDataTable = BToDataTable.class("[Lcom.tridium.data.BToDataTable;", false);
|
||||
}
|
||||
TYPE = Sys.loadType(clazz);
|
||||
}
|
||||
|
||||
static class ToDataCursor
|
||||
implements TableCursor {
|
||||
BITable table;
|
||||
TableCursor inner;
|
||||
|
||||
public Context getContext() {
|
||||
return this.inner.getContext();
|
||||
}
|
||||
|
||||
public boolean next() {
|
||||
return this.inner.next();
|
||||
}
|
||||
|
||||
public boolean nextComponent() {
|
||||
return this.inner.nextComponent();
|
||||
}
|
||||
|
||||
public boolean next(Class clazz) {
|
||||
return this.inner.next(clazz);
|
||||
}
|
||||
|
||||
public BObject get() {
|
||||
return this.inner.get();
|
||||
}
|
||||
|
||||
public BITable getTable() {
|
||||
return this.table;
|
||||
}
|
||||
|
||||
public BObject get(Column column) {
|
||||
return ((TranslatedColumn)column).get(this.inner);
|
||||
}
|
||||
|
||||
public String getString(Column column) {
|
||||
return ((TranslatedColumn)column).getString(this.inner);
|
||||
}
|
||||
|
||||
public double getDouble(Column column) {
|
||||
return ((TranslatedColumn)column).getDouble(this.inner);
|
||||
}
|
||||
|
||||
public float getFloat(Column column) {
|
||||
return ((TranslatedColumn)column).getFloat(this.inner);
|
||||
}
|
||||
|
||||
public int getInt(Column column) {
|
||||
return ((TranslatedColumn)column).getInt(this.inner);
|
||||
}
|
||||
|
||||
public long getLong(Column column) {
|
||||
return ((TranslatedColumn)column).getLong(this.inner);
|
||||
}
|
||||
|
||||
public boolean getBoolean(Column column) {
|
||||
return ((TranslatedColumn)column).getBoolean(this.inner);
|
||||
}
|
||||
|
||||
public int getFlags(Column column) {
|
||||
return ((TranslatedColumn)column).getFlags(this.inner);
|
||||
}
|
||||
|
||||
public BFacets getFacets(Column column) {
|
||||
return ((TranslatedColumn)column).getFacets(this.inner);
|
||||
}
|
||||
|
||||
public ToDataCursor(BITable bITable, TableCursor tableCursor) {
|
||||
this.table = bITable;
|
||||
this.inner = tableCursor;
|
||||
}
|
||||
}
|
||||
|
||||
static abstract class TranslatedColumn
|
||||
implements Column {
|
||||
protected Column innerColumn;
|
||||
|
||||
public String getName() {
|
||||
return this.innerColumn.getName();
|
||||
}
|
||||
|
||||
public String getDisplayName(Context context) {
|
||||
return this.innerColumn.getDisplayName(context);
|
||||
}
|
||||
|
||||
public int getFlags() {
|
||||
return this.innerColumn.getFlags();
|
||||
}
|
||||
|
||||
public BFacets getFacets() {
|
||||
return this.innerColumn.getFacets();
|
||||
}
|
||||
|
||||
public abstract BObject get(int var1, BITable var2);
|
||||
|
||||
public abstract String getString(int var1, BITable var2);
|
||||
|
||||
public abstract double getDouble(int var1, BITable var2);
|
||||
|
||||
public abstract float getFloat(int var1, BITable var2);
|
||||
|
||||
public abstract boolean getBoolean(int var1, BITable var2);
|
||||
|
||||
public abstract int getInt(int var1, BITable var2);
|
||||
|
||||
public abstract long getLong(int var1, BITable var2);
|
||||
|
||||
public int getFlags(int n, BITable bITable) {
|
||||
return bITable.getFlags(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public BFacets getFacets(int n, BITable bITable) {
|
||||
return bITable.getFacets(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public abstract BObject get(TableCursor var1);
|
||||
|
||||
public abstract String getString(TableCursor var1);
|
||||
|
||||
public abstract double getDouble(TableCursor var1);
|
||||
|
||||
public abstract float getFloat(TableCursor var1);
|
||||
|
||||
public abstract boolean getBoolean(TableCursor var1);
|
||||
|
||||
public abstract int getInt(TableCursor var1);
|
||||
|
||||
public abstract long getLong(TableCursor var1);
|
||||
|
||||
public int getFlags(TableCursor tableCursor) {
|
||||
return tableCursor.getFlags(this.innerColumn);
|
||||
}
|
||||
|
||||
public BFacets getFacets(TableCursor tableCursor) {
|
||||
return tableCursor.getFacets(this.innerColumn);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.getName() + ':' + this.getType().getTypeSpec();
|
||||
}
|
||||
|
||||
public TranslatedColumn(Column column) {
|
||||
this.innerColumn = column;
|
||||
}
|
||||
}
|
||||
|
||||
static class IsDataColumn
|
||||
extends TranslatedColumn {
|
||||
public Type getType() {
|
||||
return this.innerColumn.getType();
|
||||
}
|
||||
|
||||
public BObject get(int n, BITable bITable) {
|
||||
return bITable.get(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public String getString(int n, BITable bITable) {
|
||||
return bITable.getString(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public double getDouble(int n, BITable bITable) {
|
||||
return bITable.getDouble(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public float getFloat(int n, BITable bITable) {
|
||||
return bITable.getFloat(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public boolean getBoolean(int n, BITable bITable) {
|
||||
return bITable.getBoolean(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public int getInt(int n, BITable bITable) {
|
||||
return bITable.getInt(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public long getLong(int n, BITable bITable) {
|
||||
return bITable.getLong(n, this.innerColumn);
|
||||
}
|
||||
|
||||
public BObject get(TableCursor tableCursor) {
|
||||
return tableCursor.get(this.innerColumn);
|
||||
}
|
||||
|
||||
public String getString(TableCursor tableCursor) {
|
||||
return tableCursor.getString(this.innerColumn);
|
||||
}
|
||||
|
||||
public double getDouble(TableCursor tableCursor) {
|
||||
return tableCursor.getDouble(this.innerColumn);
|
||||
}
|
||||
|
||||
public float getFloat(TableCursor tableCursor) {
|
||||
return tableCursor.getFloat(this.innerColumn);
|
||||
}
|
||||
|
||||
public boolean getBoolean(TableCursor tableCursor) {
|
||||
return tableCursor.getBoolean(this.innerColumn);
|
||||
}
|
||||
|
||||
public int getInt(TableCursor tableCursor) {
|
||||
return tableCursor.getInt(this.innerColumn);
|
||||
}
|
||||
|
||||
public long getLong(TableCursor tableCursor) {
|
||||
return tableCursor.getLong(this.innerColumn);
|
||||
}
|
||||
|
||||
public IsDataColumn(Column column) {
|
||||
super(column);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Illegal identifiers - consider using --renameillegalidents true
|
||||
*/
|
||||
static class ToDataColumn
|
||||
extends TranslatedColumn {
|
||||
private Type columnType;
|
||||
private BFacets facets;
|
||||
|
||||
public Type getType() {
|
||||
return this.columnType;
|
||||
}
|
||||
|
||||
public BFacets getFacets() {
|
||||
if (this.facets == null) {
|
||||
return super.getFacets();
|
||||
}
|
||||
return this.facets;
|
||||
}
|
||||
|
||||
public BObject get(int n, BITable bITable) {
|
||||
return (BObject)((Object)bITable.get(n, this.innerColumn).toDataValue());
|
||||
}
|
||||
|
||||
public String getString(int n, BITable bITable) {
|
||||
return bITable.get(n, this.innerColumn).toDataValue().toString();
|
||||
}
|
||||
|
||||
public double getDouble(int n, BITable bITable) {
|
||||
return ((BDouble)bITable.get(n, this.innerColumn).toDataValue()).getDouble();
|
||||
}
|
||||
|
||||
public float getFloat(int n, BITable bITable) {
|
||||
return ((BFloat)bITable.get(n, this.innerColumn).toDataValue()).getFloat();
|
||||
}
|
||||
|
||||
public boolean getBoolean(int n, BITable bITable) {
|
||||
return ((BBoolean)bITable.get(n, this.innerColumn).toDataValue()).getBoolean();
|
||||
}
|
||||
|
||||
public int getInt(int n, BITable bITable) {
|
||||
return ((BInteger)bITable.get(n, this.innerColumn).toDataValue()).getInt();
|
||||
}
|
||||
|
||||
public long getLong(int n, BITable bITable) {
|
||||
return ((BLong)bITable.get(n, this.innerColumn).toDataValue()).getLong();
|
||||
}
|
||||
|
||||
public BObject get(TableCursor tableCursor) {
|
||||
return (BObject)((Object)tableCursor.get(this.innerColumn).toDataValue());
|
||||
}
|
||||
|
||||
public String getString(TableCursor tableCursor) {
|
||||
return tableCursor.getString(this.innerColumn);
|
||||
}
|
||||
|
||||
public double getDouble(TableCursor tableCursor) {
|
||||
return ((BDouble)tableCursor.get(this.innerColumn).toDataValue()).getDouble();
|
||||
}
|
||||
|
||||
public float getFloat(TableCursor tableCursor) {
|
||||
return ((BFloat)tableCursor.get(this.innerColumn).toDataValue()).getFloat();
|
||||
}
|
||||
|
||||
public boolean getBoolean(TableCursor tableCursor) {
|
||||
return ((BBoolean)tableCursor.get(this.innerColumn).toDataValue()).getBoolean();
|
||||
}
|
||||
|
||||
public int getInt(TableCursor tableCursor) {
|
||||
return ((BInteger)tableCursor.get(this.innerColumn).toDataValue()).getInt();
|
||||
}
|
||||
|
||||
public long getLong(TableCursor tableCursor) {
|
||||
return ((BLong)tableCursor.get(this.innerColumn).toDataValue()).getLong();
|
||||
}
|
||||
|
||||
private final /* synthetic */ void this() {
|
||||
this.facets = null;
|
||||
}
|
||||
|
||||
public ToDataColumn(Column column) {
|
||||
super(column);
|
||||
this.this();
|
||||
Type type = column.getType();
|
||||
this.columnType = !type.isAbstract() && !type.isInterface() && type.is(BValue.TYPE) ? type.getInstance().toDataValue().getType() : BString.TYPE;
|
||||
if (!type.equals(this.columnType)) {
|
||||
BString bString = BString.make(type.getTypeSpec().toString());
|
||||
this.facets = BFacets.make(column.getFacets(), "origType", bString);
|
||||
} else {
|
||||
this.facets = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
public abstract class DataCodec {
|
||||
public static final int START = 497933825;
|
||||
public static final int END = 766369282;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import java.util.Vector;
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.collection.ColumnList;
|
||||
|
||||
public class DataColumnList
|
||||
implements ColumnList {
|
||||
private Vector list = new Vector(5);
|
||||
private Hashtable table = new Hashtable();
|
||||
|
||||
public int size() {
|
||||
return this.list.size();
|
||||
}
|
||||
|
||||
public Column get(int n) {
|
||||
return (Column)this.list.elementAt(n);
|
||||
}
|
||||
|
||||
public Column get(String string) {
|
||||
return (Column)this.table.get(string);
|
||||
}
|
||||
|
||||
public int indexOf(String string) {
|
||||
int n = this.list.size();
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
Column column = (Column)this.list.elementAt(n2);
|
||||
if (column.getName().equals(string)) {
|
||||
return n2;
|
||||
}
|
||||
++n2;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public void addColumn(Column column) {
|
||||
this.list.addElement(column);
|
||||
this.table.put(column.getName(), column);
|
||||
}
|
||||
|
||||
public Column[] list() {
|
||||
Object[] objectArray = new Column[this.list.size()];
|
||||
this.list.copyInto(objectArray);
|
||||
return objectArray;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import com.tridium.data.BDataRow;
|
||||
import javax.baja.collection.BITable;
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.collection.TableCursor;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.BObject;
|
||||
import javax.baja.sys.Context;
|
||||
|
||||
public class DataTableCursor
|
||||
implements TableCursor {
|
||||
private BIDataTable table;
|
||||
private int row;
|
||||
private BDataRow rowObject;
|
||||
|
||||
public Context getContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public BITable getTable() {
|
||||
return this.table;
|
||||
}
|
||||
|
||||
public boolean next() {
|
||||
int n = this.table.size();
|
||||
if (this.row != n) {
|
||||
++this.row;
|
||||
boolean bl = false;
|
||||
if (this.row != n) {
|
||||
bl = true;
|
||||
}
|
||||
return bl;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean nextComponent() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean next(Class clazz) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public BObject get() {
|
||||
if (this.rowObject == null) {
|
||||
this.rowObject = new BDataRow(this.table, this.row);
|
||||
} else {
|
||||
this.rowObject.setRow(this.row);
|
||||
}
|
||||
return this.rowObject;
|
||||
}
|
||||
|
||||
public BObject get(Column column) {
|
||||
return this.table.get(this.row, column);
|
||||
}
|
||||
|
||||
public String getString(Column column) {
|
||||
return this.table.getString(this.row, column);
|
||||
}
|
||||
|
||||
public double getDouble(Column column) {
|
||||
return this.table.getDouble(this.row, column);
|
||||
}
|
||||
|
||||
public float getFloat(Column column) {
|
||||
return this.table.getFloat(this.row, column);
|
||||
}
|
||||
|
||||
public int getInt(Column column) {
|
||||
return this.table.getInt(this.row, column);
|
||||
}
|
||||
|
||||
public long getLong(Column column) {
|
||||
return this.table.getLong(this.row, column);
|
||||
}
|
||||
|
||||
public boolean getBoolean(Column column) {
|
||||
return this.table.getBoolean(this.row, column);
|
||||
}
|
||||
|
||||
public int getFlags(Column column) {
|
||||
return this.table.getFlags(this.row, column);
|
||||
}
|
||||
|
||||
public BFacets getFacets(Column column) {
|
||||
return this.table.getFacets(this.row, column);
|
||||
}
|
||||
|
||||
public DataTableCursor(BIDataTable bIDataTable) {
|
||||
this.table = bIDataTable;
|
||||
this.row = -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import com.tridium.data.BDataTable;
|
||||
import com.tridium.data.DataCodec;
|
||||
import java.io.DataInput;
|
||||
import java.io.IOException;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.data.BIDataValue;
|
||||
import javax.baja.data.DataTypes;
|
||||
import javax.baja.io.BIEncodable;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.Type;
|
||||
|
||||
public class DataTableDecoder
|
||||
extends DataCodec {
|
||||
public static BIDataTable decode(DataInput dataInput) throws IOException {
|
||||
BIEncodable bIEncodable;
|
||||
int n;
|
||||
BDataTable bDataTable = new BDataTable();
|
||||
int n2 = dataInput.readInt();
|
||||
if (n2 != 497933825) {
|
||||
throw new IOException("Invalid start of binary table encoding.");
|
||||
}
|
||||
boolean bl = dataInput.readBoolean();
|
||||
if (bl) {
|
||||
bDataTable.setTableFacets((BFacets)BFacets.DEFAULT.decode(dataInput));
|
||||
}
|
||||
int n3 = dataInput.readInt();
|
||||
int[] nArray = new int[n3];
|
||||
Type[] typeArray = new Type[n3];
|
||||
int n4 = 0;
|
||||
while (n4 < n3) {
|
||||
String string = dataInput.readUTF();
|
||||
String string2 = dataInput.readUTF();
|
||||
nArray[n4] = dataInput.readInt();
|
||||
typeArray[n4] = DataTypes.getBySymbol((char)nArray[n4]);
|
||||
n = dataInput.readInt();
|
||||
bIEncodable = null;
|
||||
boolean bl2 = dataInput.readBoolean();
|
||||
if (bl2) {
|
||||
bIEncodable = (BFacets)BFacets.DEFAULT.decode(dataInput);
|
||||
}
|
||||
bDataTable.addColumn(string, string2, typeArray[n4], n, (BFacets)bIEncodable);
|
||||
++n4;
|
||||
}
|
||||
if (n3 == 0) {
|
||||
throw new IllegalStateException("Table contains no columns.");
|
||||
}
|
||||
n4 = dataInput.readInt();
|
||||
if (n4 == -1) {
|
||||
bDataTable.startRows();
|
||||
} else {
|
||||
bDataTable.startRows(n4);
|
||||
}
|
||||
int n5 = dataInput.readInt();
|
||||
while (n5 != 0) {
|
||||
int n6 = 0;
|
||||
while (n6 < n5) {
|
||||
bDataTable.startRow();
|
||||
n = 0;
|
||||
while (n < n3) {
|
||||
switch (nArray[n]) {
|
||||
case 102: {
|
||||
bDataTable.set(dataInput.readFloat(), (BFacets)null);
|
||||
break;
|
||||
}
|
||||
case 98: {
|
||||
bDataTable.set(dataInput.readBoolean(), null);
|
||||
break;
|
||||
}
|
||||
case 115: {
|
||||
bDataTable.set(dataInput.readUTF(), null);
|
||||
break;
|
||||
}
|
||||
case 105: {
|
||||
bDataTable.set(dataInput.readInt(), (BFacets)null);
|
||||
break;
|
||||
}
|
||||
case 108: {
|
||||
bDataTable.set(dataInput.readLong(), (BFacets)null);
|
||||
break;
|
||||
}
|
||||
case 100: {
|
||||
bDataTable.set(dataInput.readDouble(), null);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
bIEncodable = (BIDataValue)((Object)typeArray[n].getInstance());
|
||||
bDataTable.set((BIDataValue)((Object)bIEncodable.decode(dataInput)), null);
|
||||
}
|
||||
}
|
||||
++n;
|
||||
}
|
||||
bDataTable.endRow();
|
||||
++n6;
|
||||
}
|
||||
n5 = dataInput.readInt();
|
||||
}
|
||||
bDataTable.endRows();
|
||||
int n7 = dataInput.readInt();
|
||||
if (n7 != 766369282) {
|
||||
throw new IOException("Invalid end of binary table encoding.");
|
||||
}
|
||||
return bDataTable;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.tridium.data;
|
||||
|
||||
import com.tridium.data.DataCodec;
|
||||
import java.io.DataOutput;
|
||||
import java.io.IOException;
|
||||
import javax.baja.collection.Column;
|
||||
import javax.baja.collection.TableCursor;
|
||||
import javax.baja.data.BIDataTable;
|
||||
import javax.baja.data.BIDataValue;
|
||||
import javax.baja.io.ByteBuffer;
|
||||
import javax.baja.sys.BFacets;
|
||||
import javax.baja.sys.Context;
|
||||
|
||||
public class DataTableEncoder
|
||||
extends DataCodec {
|
||||
public static void encode(BIDataTable bIDataTable, DataOutput dataOutput, Context context) throws IOException {
|
||||
Object object;
|
||||
dataOutput.writeInt(497933825);
|
||||
BFacets bFacets = bIDataTable.getTableFacets();
|
||||
if (bFacets == null || bFacets.isNull()) {
|
||||
dataOutput.writeBoolean(false);
|
||||
} else {
|
||||
dataOutput.writeBoolean(true);
|
||||
bFacets.encode(dataOutput);
|
||||
}
|
||||
Column[] columnArray = bIDataTable.getColumns().list();
|
||||
int n = columnArray.length;
|
||||
dataOutput.writeInt(n);
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
dataOutput.writeUTF(columnArray[n2].getName());
|
||||
dataOutput.writeUTF(columnArray[n2].getDisplayName(context));
|
||||
dataOutput.writeInt(columnArray[n2].getType().getDataTypeSymbol());
|
||||
dataOutput.writeInt(columnArray[n2].getFlags());
|
||||
object = columnArray[n2].getFacets();
|
||||
if (object == null || ((BFacets)object).isNull()) {
|
||||
dataOutput.writeBoolean(false);
|
||||
} else {
|
||||
dataOutput.writeBoolean(true);
|
||||
((BFacets)object).encode(dataOutput);
|
||||
}
|
||||
++n2;
|
||||
}
|
||||
dataOutput.writeInt(-1);
|
||||
TableCursor tableCursor = (TableCursor)bIDataTable.cursor();
|
||||
object = new ByteBuffer(6400);
|
||||
int n3 = 0;
|
||||
while (tableCursor.next()) {
|
||||
DataTableEncoder.writeRow((DataOutput)object, tableCursor, columnArray);
|
||||
if (++n3 != 200) continue;
|
||||
dataOutput.writeInt(n3);
|
||||
((ByteBuffer)object).writeTo(dataOutput);
|
||||
((ByteBuffer)object).reset();
|
||||
n3 = 0;
|
||||
}
|
||||
if (n3 != 0) {
|
||||
dataOutput.writeInt(n3);
|
||||
((ByteBuffer)object).writeTo(dataOutput);
|
||||
}
|
||||
dataOutput.writeInt(0);
|
||||
dataOutput.writeInt(766369282);
|
||||
}
|
||||
|
||||
private static final void writeRow(DataOutput dataOutput, TableCursor tableCursor, Column[] columnArray) throws IOException {
|
||||
int n = columnArray.length;
|
||||
int n2 = 0;
|
||||
while (n2 < n) {
|
||||
char c = columnArray[n2].getType().getDataTypeSymbol();
|
||||
switch (c) {
|
||||
case 'f': {
|
||||
dataOutput.writeFloat(tableCursor.getFloat(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
case 'b': {
|
||||
dataOutput.writeBoolean(tableCursor.getBoolean(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
case 's': {
|
||||
dataOutput.writeUTF(tableCursor.getString(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
case 'i': {
|
||||
dataOutput.writeInt(tableCursor.getInt(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
case 'l': {
|
||||
dataOutput.writeLong(tableCursor.getLong(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
case 'd': {
|
||||
dataOutput.writeDouble(tableCursor.getDouble(columnArray[n2]));
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
((BIDataValue)((Object)tableCursor.get(columnArray[n2]))).encode(dataOutput);
|
||||
}
|
||||
}
|
||||
++n2;
|
||||
}
|
||||
}
|
||||
|
||||
public static String encodeToString(BIDataTable bIDataTable) throws IOException {
|
||||
throw new UnsupportedOperationException("not implemented");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user