Issue #29 Made MasterDerivScript check sizes length for accurate dimensions of data in record

Change-Id: I2ea1ced515b8324a4686d9bb9c0eab7654be6ca4

Former-commit-id: 00de2922e1 [formerly b9568b79f531250c859b77296115da32b628318d]
Former-commit-id: 0de737ad64
This commit is contained in:
Max Schenkelberg 2012-08-29 18:17:30 -05:00
parent e6661037f5
commit b75fad8e30

View file

@ -385,11 +385,12 @@ public class MasterDerivScript extends PythonInterpreter {
private void setDataRecordArg(String argName, IDataRecord argValue) private void setDataRecordArg(String argName, IDataRecord argValue)
throws JepException { throws JepException {
boolean reshape = true; boolean reshape = true;
long[] sizes = argValue.getSizes();
if (argValue instanceof FloatDataRecord) { if (argValue instanceof FloatDataRecord) {
FloatDataRecord record = (FloatDataRecord) argValue; FloatDataRecord record = (FloatDataRecord) argValue;
if (record.getDimension() == 2) { if (sizes.length == 2) {
jep.setNumeric(argName, record.getFloatData(), jep.setNumeric(argName, record.getFloatData(), (int) sizes[0],
(int) record.getSizes()[0], (int) record.getSizes()[1]); (int) sizes[1]);
reshape = false; reshape = false;
} else { } else {
evaluateArgument(argName, record.getFloatData()); evaluateArgument(argName, record.getFloatData());
@ -401,18 +402,18 @@ public class MasterDerivScript extends PythonInterpreter {
jep.eval("del globals()['numpy']"); jep.eval("del globals()['numpy']");
} else if (argValue instanceof IntegerDataRecord) { } else if (argValue instanceof IntegerDataRecord) {
IntegerDataRecord record = (IntegerDataRecord) argValue; IntegerDataRecord record = (IntegerDataRecord) argValue;
if (record.getDimension() == 2) { if (sizes.length == 2) {
jep.setNumeric(argName, record.getIntData(), jep.setNumeric(argName, record.getIntData(), (int) sizes[0],
(int) record.getSizes()[0], (int) record.getSizes()[1]); (int) sizes[1]);
reshape = false; reshape = false;
} else { } else {
evaluateArgument(argName, record.getIntData()); evaluateArgument(argName, record.getIntData());
} }
} else if (argValue instanceof ByteDataRecord) { } else if (argValue instanceof ByteDataRecord) {
ByteDataRecord record = (ByteDataRecord) argValue; ByteDataRecord record = (ByteDataRecord) argValue;
if (record.getDimension() == 2) { if (sizes.length == 2) {
jep.setNumeric(argName, record.getByteData(), jep.setNumeric(argName, record.getByteData(), (int) sizes[0],
(int) record.getSizes()[0], (int) record.getSizes()[1]); (int) sizes[1]);
reshape = false; reshape = false;
} else { } else {
evaluateArgument(argName, record.getByteData()); evaluateArgument(argName, record.getByteData());