/** * Retrieve previous object from the scrollable cursor */ public Transporter scrollableCursorPreviousObject(Transporter remoteScrollableCursorOid) { Transporter transporter = new Transporter(); try { ScrollableCursor stream = (ScrollableCursor)getRemoteCursors().get(remoteScrollableCursorOid.getObject()); if (stream != null) { Object objectPrevious = null; // For bug 2797683 read beyond end of stream exception should not be thrown here: called first by RemoteScrollableCursor.hasNext(). if (stream.hasPrevious()) { objectPrevious = stream.previous(); } if (objectPrevious == null) { // 2612538 - the default size of Map (32) is appropriate transporter.setObjectDescriptors(new IdentityHashMap()); } else { if (stream.getQuery().isReadAllQuery() && (!stream.getQuery().isReportQuery())) { transporter.setObjectDescriptors(replaceValueHoldersIn(objectPrevious)); } } transporter.setObject(objectPrevious); } } catch (RuntimeException exception) { transporter.setException(exception); } return transporter; }
/** * Retrieve previous object from the scrollable cursor */ public Transporter scrollableCursorPreviousObject(Transporter remoteScrollableCursorOid) { Transporter transporter = new Transporter(); try { ScrollableCursor stream = (ScrollableCursor)getRemoteCursors().get(remoteScrollableCursorOid.getObject()); if (stream != null) { Object objectPrevious = null; // For bug 2797683 read beyond end of stream exception should not be thrown here: called first by RemoteScrollableCursor.hasNext(). if (stream.hasPrevious()) { objectPrevious = stream.previous(); } if (objectPrevious == null) { // 2612538 - the default size of Map (32) is appropriate transporter.setObjectDescriptors(new IdentityHashMap()); } else { if (stream.getQuery().isReadAllQuery() && (!stream.getQuery().isReportQuery())) { transporter.setObjectDescriptors(replaceValueHoldersIn(objectPrevious)); } } transporter.setObject(objectPrevious); } } catch (RuntimeException exception) { transporter.setException(exception); } return transporter; }
/** * Retrieve previous object from the scrollable cursor */ public Transporter scrollableCursorPreviousObject(Transporter remoteScrollableCursorOid) { Transporter transporter = new Transporter(); try { ScrollableCursor stream = (ScrollableCursor)getRemoteCursors().get(remoteScrollableCursorOid.getObject()); if (stream != null) { Object objectPrevious = null; // For bug 2797683 read beyond end of stream exception should not be thrown here: called first by RemoteScrollableCursor.hasNext(). if (stream.hasPrevious()) { objectPrevious = stream.previous(); } if (objectPrevious == null) { // 2612538 - the default size of Map (32) is appropriate transporter.setObjectDescriptors(new IdentityHashMap()); } else { if (stream.getQuery().isReadAllQuery() && (!stream.getQuery().isReportQuery())) { transporter.setObjectDescriptors(replaceValueHoldersIn(objectPrevious)); } } transporter.setObject(objectPrevious); } } catch (RuntimeException exception) { transporter.setException(exception); } return transporter; }