@Override public Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException { if (section.computeSize() == getSize()) return _read(); Array result; if (hasCachedData()) result = super.reallyRead(client, section, cancelTask); else if (orgVar != null) result = orgVar.read(section); else { throw new IllegalStateException("StructureDS has no way to get data"); //Object data = smProxy.getFillValue(getDataType()); //return Array.factoryConstant(dataType.getPrimitiveClassType(), section.getShape(), data); } // do any needed conversions (scale/offset, enums, etc) return convert(result, section); }
@Override public Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException { if (section.computeSize() == getSize()) return _read(); Array result; if (hasCachedData()) result = super.reallyRead(client, section, cancelTask); else if (orgVar != null) result = orgVar.read(section); else { throw new IllegalStateException("StructureDS has no way to get data"); //Object data = smProxy.getFillValue(getDataType()); //return Array.factoryConstant(dataType.getPrimitiveClassType(), section.getShape(), data); } // do any needed conversions (scale/offset, enums, etc) return convert(result, section); }
@Override public Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException { if (section.computeSize() == getSize()) return _read(); Array result; if (hasCachedData()) result = super.reallyRead(client, section, cancelTask); else if (orgVar != null) result = orgVar.read(section); else { throw new IllegalStateException("StructureDS has no way to get data"); //Object data = smProxy.getFillValue(getDataType()); //return Array.factoryConstant(dataType.getPrimitiveClassType(), section.getShape(), data); } // do any needed conversions (enum/scale/offset/missing/unsigned, etc) return convert(result, section); }