@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public StructureDataIterator getStructureDataIterator(Cursor cursor) throws IOException { int recnum = cursor.recnum[ cursor.currentIndex]; // LOOK try { StructureData parentStruct = struct.readStructure(recnum); ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); } catch (InvalidRangeException e) { throw new IllegalStateException(e); } }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { int recnum = cursor.getParentRecnum(); try { StructureData parentStruct = struct.readStructure(recnum); ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); } catch (InvalidRangeException e) { throw new IllegalStateException(e); } }
@Override public StructureDataIterator getStructureDataIterator(Cursor cursor) throws IOException { StructureData parentStruct = cursor.getParentStructure(); if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.tableData[2]; if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky int middleIndex = cursor.recnum[1]; ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); Array myData = data.slice(0, middleIndex); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray (myData.copy()); // must make copy - ArrayStucture doesnt deal with logical views } return asma.getStructureDataIterator(); }
@Override public StructureDataIterator getStructureDataIterator(Cursor cursor) throws IOException { StructureData parentStruct = cursor.tableData[2]; if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky int middleIndex = cursor.recnum[1]; ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); Array myData = data.slice(0, middleIndex); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(myData.copy()); // must make copy - ArrayStucture doesnt deal with logical views } return asma.getStructureDataIterator(); }
@Override public Array reallyRead(Variable mainv, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException { if (null == section) return _read(); if (debugRecord) System.out.println(" read psuedo records "+ section.getRange(0)); String err = section.checkInRange(getShape()); if (err != null) throw new InvalidRangeException(err); Range r = section.getRange(0); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, section.getShape()); for (Variable v : orgVariables) { List<Range> vsection = new ArrayList<Range>(v.getRanges()); vsection.set(0, r); Array data = v.read(vsection); // LOOK should these be flattened ?? StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { int recnum = cursor.getParentRecnum(); try { StructureData parentStruct = struct.readStructure(recnum); ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (VariableSimpleIF v : cols) { Array data = parentStruct.getArray(v.getShortName()); StructureMembers.Member childm = sm.findMember(v.getShortName()); childm.setDataArray(data); } return asma.getStructureDataIterator(); } catch (InvalidRangeException e) { throw new IllegalStateException(e); } }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (VariableSimpleIF v : cols) { Array data = parentStruct.getArray(v.getShortName()); StructureMembers.Member childm = sm.findMember(v.getShortName()); childm.setDataArray(data); } return asma.getStructureDataIterator(); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.tableData[2]; int middleIndex = cursor.recnum[1]; ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (VariableSimpleIF v : cols) { Array data = parentStruct.getArray(v.getShortName()); Array myData = data.slice(0, middleIndex); StructureMembers.Member childm = sm.findMember(v.getShortName()); childm.setDataArray (myData.copy()); // must make copy - ARrayStucture doesnt deal with logical views } return asma.getStructureDataIterator(); }
/** * Turn any ArrayStructure into a ArrayStructureMA * @param from copy from here. If from is a ArrayStructureMA, return it. * @return equivilent ArrayStructureMA * @throws java.io.IOException on error reading a sequence */ static public ArrayStructureMA factoryMA(ArrayStructure from) throws IOException { if (from instanceof ArrayStructureMA) return (ArrayStructureMA) from; StructureMembers tosm = new StructureMembers( new StructureMembers(from.getStructureMembers())); ArrayStructureMA to = new ArrayStructureMA(tosm, from.getShape()); for (StructureMembers.Member m : from.getMembers()) { to.setMemberArray(m.getName(), from.extractMemberArray(m)); } return to; }
/** * Turn any ArrayStructure into a ArrayStructureMA * @param from copy from here. If from is a ArrayStructureMA, return it. * @return equivilent ArrayStructureMA * @throws java.io.IOException on error reading a sequence */ static public ArrayStructureMA factoryMA(ArrayStructure from) throws IOException { if (from instanceof ArrayStructureMA) return (ArrayStructureMA) from; StructureMembers tosm = new StructureMembers( new StructureMembers(from.getStructureMembers())); ArrayStructureMA to = new ArrayStructureMA(tosm, from.getShape()); for (StructureMembers.Member m : from.getMembers()) { to.setMemberArray(m.getName(), from.extractMemberArray(m)); } return to; }
private Array decodeStructureData(NcStreamProto.DataCol dproto, Section parentSection) throws IOException { NcStreamProto.ArrayStructureCol structData = dproto.getStructdata(); Section section = NcStream.decodeSection(dproto.getSection()); int nelems = dproto.getNelems(); assert nelems == section.computeSize(); // accumulate parent sections parentSection = section.prepend(parentSection); StructureMembers members = new StructureMembers(dproto.getName()); for (NcStreamProto.DataCol memberData : structData.getMemberDataList()) { decodeMemberData(members, memberData, parentSection); } return new ArrayStructureMA(members, section.getShape()); }
private ArrayStructure makeNested2(StructureMembers.Member parent) throws IOException, InvalidRangeException { StructureMembers members = new StructureMembers(parent.getName()); parent.setStructureMembers(members); StructureMembers.Member m = members.addMember("h1", "desc", "units", DataType.INT, new int[]{1}); Array data = Array.factory(DataType.INT, new int[]{4, 9, 7}); m.setDataArray(data); fill(data); m = members.addMember("h2", "desc", "units", DataType.DOUBLE, new int[]{2}); data = Array.factory(DataType.DOUBLE, new int[]{4, 9, 7, 2}); m.setDataArray(data); fill(data); return new ArrayStructureMA(members, new int[]{4, 9, 7}); }