use of org.knime.core.data.def.LongCell in project knime-core by knime.
the class AverageInterpolationStatisticMB method consumeRow.
/**
* {@inheritDoc}
*/
@Override
protected void consumeRow(final DataRow dataRow) {
DataCell cell = dataRow.getCell(m_colIdx);
if (cell.isMissing()) {
m_numMissing++;
} else {
DataCell res;
if (m_previous.isMissing()) {
res = cell;
} else {
if (m_isDateColumn) {
DateAndTimeValue val = (DateAndTimeValue) cell;
DateAndTimeValue prevVal = (DateAndTimeValue) m_previous;
boolean hasDate = val.hasDate() | prevVal.hasDate();
boolean hasTime = val.hasTime() | prevVal.hasTime();
boolean hasMilis = val.hasMillis() | prevVal.hasMillis();
long prev = prevVal.getUTCTimeInMillis();
long next = val.getUTCTimeInMillis();
long lin = Math.round((prev + next) / 2);
res = new DateAndTimeCell(lin, hasDate, hasTime, hasMilis);
} else {
DoubleValue val = (DoubleValue) cell;
double prev = ((DoubleValue) m_previous).getDoubleValue();
double next = val.getDoubleValue();
double lin = (prev + next) / 2;
if (m_previous instanceof IntValue) {
// get an int, create an int
res = new IntCell((int) Math.round(lin));
} else if (m_previous instanceof LongValue) {
// get an long, create an long
res = new LongCell(Math.round(lin));
} else {
res = new DoubleCell(lin);
}
}
}
for (int i = 0; i < m_numMissing; i++) {
m_values.add(res);
}
m_previous = cell;
m_numMissing = 0;
}
}
use of org.knime.core.data.def.LongCell in project knime-core by knime.
the class OutputRow method createDataRow.
/**
* Create a {@link DataRow} that stores information of a inner or
* outer joins.
*
* @param index The index of this row.
* @param leftIndex The index of the left row.
* @param rightIndex The index of the right row.
* @param rightDataRow The right row.
* @param settings The common settings object.
* @return New instance of {@link DataRow} populated with the given
* information.
*/
static DataRow createDataRow(final long index, final long leftIndex, final long rightIndex, final DataRow rightDataRow, final OutputRow.Settings settings) {
int[] survivors = settings.getSurvivors();
DataCell[] cells = new DataCell[survivors.length + 3];
int c = 0;
for (int i = 0; i < survivors.length; i++) {
cells[c] = rightDataRow.getCell(survivors[i]);
c++;
}
cells[c] = new StringCell(rightDataRow.getKey().getString());
c++;
cells[c] = new LongCell(leftIndex);
c++;
cells[c] = new LongCell(rightIndex);
RowKey rowID = new RowKey(Long.toString(index));
return new DefaultRow(rowID, cells);
}
use of org.knime.core.data.def.LongCell in project knime-core by knime.
the class ExpressionFactoryTest method testTableRef.
/**
* Test method for {@link ExpressionFactory#tableRef(Rule.TableReference)} .
*/
@Test
public void testTableRef() {
assertEquals(new LongCell(2), m_factory.tableRef(TableReference.RowCount).evaluate(null, new VariableProvider() {
@Override
public Object readVariable(final String name, final Class<?> type) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getRowCountLong() {
return 2L;
}
@Override
public long getRowIndexLong() {
return 0L;
}
@Deprecated
@Override
public int getRowCount() {
return 0;
}
@Deprecated
@Override
public int getRowIndex() {
return 0;
}
}).getValue());
assertEquals(new LongCell(3), m_factory.tableRef(TableReference.RowIndex).evaluate(null, new VariableProvider() {
@Override
public Object readVariable(final String name, final Class<?> type) {
return null;
}
@Override
public long getRowCountLong() {
return 0L;
}
@Override
public long getRowIndexLong() {
return 3L;
}
@Deprecated
@Override
public int getRowCount() {
return 0;
}
@Deprecated
@Override
public int getRowIndex() {
return 0;
}
}).getValue());
assertEquals(new StringCell("Row0"), m_factory.tableRef(TableReference.RowId).evaluate(new DefaultRow(new RowKey("Row0"), new IntCell(3)), new VariableProvider() {
@Override
public Object readVariable(final String name, final Class<?> type) {
// TODO Auto-generated method stub
return null;
}
@Deprecated
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return 0;
}
@Deprecated
@Override
public int getRowIndex() {
// TODO Auto-generated method stub
return 0;
}
}).getValue());
}
Aggregations