Hi, Modified the test and added check for MultiPixelPackedSampleModel condition.
Please review updated webrev : http://cr.openjdk.java.net/~arapte/ajit/6353518/webrev.01/ Regards, Ajit -----Original Message----- From: Sergey Bylokhov Sent: Wednesday, March 09, 2016 4:06 PM To: Ajit Ghaisas; awt-...@openjdk.java.net; Semyon Sadetsky; Ambarish Rapte; 2d-dev Subject: Re: [9] Review-request for 6353518: Creation of a WritableRaster with a custom DataBuffer causes erroneous Exception Changes for 2d area.(cc) On 07.03.16 11:20, Ajit Ghaisas wrote: > Hi, > > Bug : https://bugs.openjdk.java.net/browse/JDK-6353518 > > Issue : (Text from bug description) > > An attempt to create a WritableRaster via > Raster.createWritableRaster(SampleModel sm, DataBuffer db, Point > location) using a custom DataBuffer causes an erroneous > RasterFormatException. > Apparently the reason for this bug is that IntegerComponentRaster > insists on being passed an instance of DataBufferInt rather than just > a DataBuffer with a DataType of TYPE_INT. > This is quite annoying since DataBufferInt is declared final and thus > cannot be extended. > > Fix : > > The last line of Raster.createWritableRaster() method already has a > way to handle generic case if the input does not match any of the > cases in switch statements in that method. > > The fact that " *InterleavedRaster() constructors throw exception if > DataBuffer passed to them does not match the expected type" was > ignored earlier. > > This fix adds a check of "DataBuffer type" before creating respective > *InterleavedRaster() objects. > > It constructs the SunWritableRaster in case DataBuffer type does not > match any data specific DataBuffer classes (DataBufferByte, > DataBufferUShort, DataBufferInt) > > Request to review webrev containing this fix : > > http://cr.openjdk.java.net/~arapte/ajit/6353518/webrev.00/ > > Regards, > > Ajit > -- Best regards, Sergey.