mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2026-05-01 00:00:02 -04:00
#292 Preparing for Java 9 compatibility + general clean-up
This commit is contained in:
+1
-1
@@ -98,7 +98,7 @@ import java.util.List;
|
||||
* @author last modified by $Author: haraldk$
|
||||
* @version $Id: JPEGImageReader.java,v 1.0 24.01.11 16.37 haraldk Exp$
|
||||
*/
|
||||
public class JPEGImageReader extends ImageReaderBase {
|
||||
public final class JPEGImageReader extends ImageReaderBase {
|
||||
// TODO: Allow automatic rotation based on EXIF rotation field?
|
||||
// TODO: Create a simplified native metadata format that is closer to the actual JPEG stream AND supports EXIF in a sensible way
|
||||
// TODO: As we already parse the SOF segments, maybe we should stop delegating getWidth/getHeight etc?
|
||||
|
||||
+6
-23
@@ -41,6 +41,8 @@ import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName;
|
||||
|
||||
/**
|
||||
* JPEGImageReaderSpi
|
||||
*
|
||||
@@ -48,7 +50,7 @@ import java.util.Locale;
|
||||
* @author last modified by $Author: haraldk$
|
||||
* @version $Id: JPEGImageReaderSpi.java,v 1.0 24.01.11 22.12 haraldk Exp$
|
||||
*/
|
||||
public class JPEGImageReaderSpi extends ImageReaderSpiBase {
|
||||
public final class JPEGImageReaderSpi extends ImageReaderSpiBase {
|
||||
protected ImageReaderSpi delegateProvider;
|
||||
|
||||
/**
|
||||
@@ -64,41 +66,22 @@ public class JPEGImageReaderSpi extends ImageReaderSpiBase {
|
||||
*
|
||||
* @param delegateProvider a {@code ImageReaderSpi} that can read JPEG.
|
||||
*/
|
||||
protected JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) {
|
||||
JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) {
|
||||
this();
|
||||
|
||||
this.delegateProvider = Validate.notNull(delegateProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for subclasses.
|
||||
*
|
||||
* @param info
|
||||
*/
|
||||
protected JPEGImageReaderSpi(final ReaderWriterProviderInfo info) {
|
||||
private JPEGImageReaderSpi(final ReaderWriterProviderInfo info) {
|
||||
super(info);
|
||||
}
|
||||
|
||||
static ImageReaderSpi lookupDelegateProvider(final ServiceRegistry registry) {
|
||||
Iterator<ImageReaderSpi> providers = registry.getServiceProviders(ImageReaderSpi.class, true);
|
||||
|
||||
while (providers.hasNext()) {
|
||||
ImageReaderSpi provider = providers.next();
|
||||
|
||||
if (provider.getClass().getName().equals("com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi")) {
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked", "deprecation"})
|
||||
@Override
|
||||
public void onRegistration(final ServiceRegistry registry, final Class<?> category) {
|
||||
if (delegateProvider == null) {
|
||||
// Install delegate now
|
||||
delegateProvider = lookupDelegateProvider(registry);
|
||||
delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi");
|
||||
}
|
||||
|
||||
if (delegateProvider != null) {
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ import java.util.Locale;
|
||||
* @author last modified by $Author: haraldk$
|
||||
* @version $Id: JPEGImageWriter.java,v 1.0 06.02.12 16:39 haraldk Exp$
|
||||
*/
|
||||
public class JPEGImageWriter extends ImageWriterBase {
|
||||
public final class JPEGImageWriter extends ImageWriterBase {
|
||||
// TODO: Extend with functionality to be able to write CMYK JPEGs as well?
|
||||
|
||||
/** Our JPEG writing delegate */
|
||||
|
||||
+4
-16
@@ -42,6 +42,8 @@ import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.twelvemonkeys.imageio.util.IIOUtil.*;
|
||||
|
||||
/**
|
||||
* JPEGImageWriterSpi
|
||||
*
|
||||
@@ -70,27 +72,13 @@ public class JPEGImageWriterSpi extends ImageWriterSpiBase {
|
||||
|
||||
this.delegateProvider = Validate.notNull(delegateProvider);
|
||||
}
|
||||
|
||||
static ImageWriterSpi lookupDelegateProvider(final ServiceRegistry registry) {
|
||||
Iterator<ImageWriterSpi> providers = registry.getServiceProviders(ImageWriterSpi.class, true);
|
||||
|
||||
while (providers.hasNext()) {
|
||||
ImageWriterSpi provider = providers.next();
|
||||
|
||||
if (provider.getClass().getName().equals("com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi")) {
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unchecked"})
|
||||
@Override
|
||||
public void onRegistration(final ServiceRegistry registry, final Class<?> category) {
|
||||
if (delegateProvider == null) {
|
||||
// Install delegate now
|
||||
delegateProvider = lookupDelegateProvider(registry);
|
||||
delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi");
|
||||
}
|
||||
|
||||
if (delegateProvider != null) {
|
||||
@@ -99,7 +87,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpiBase {
|
||||
}
|
||||
else {
|
||||
// Or, if no delegate is found, silently deregister from the registry
|
||||
IIOUtil.deregisterProvider(registry, this, category);
|
||||
deregisterProvider(registry, this, category);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -15,6 +15,7 @@ import javax.imageio.stream.ImageInputStream;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
@@ -32,10 +33,10 @@ public class JPEGImage10MetadataCleanerTest {
|
||||
ImageIO.setUseCache(false);
|
||||
}
|
||||
|
||||
protected static final JPEGImageReaderSpi SPI = new JPEGImageReaderSpi(lookupDelegateProvider());
|
||||
private static final JPEGImageReaderSpi SPI = new JPEGImageReaderSpi(lookupDelegateProvider());
|
||||
|
||||
protected static ImageReaderSpi lookupDelegateProvider() {
|
||||
return JPEGImageReaderSpi.lookupDelegateProvider(IIORegistry.getDefaultInstance());
|
||||
private static ImageReaderSpi lookupDelegateProvider() {
|
||||
return lookupProviderByName(IIORegistry.getDefaultInstance(), "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi");
|
||||
}
|
||||
|
||||
// Unit/regression test for #276
|
||||
|
||||
+4
-3
@@ -58,6 +58,7 @@ import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
import static com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assume.assumeNoException;
|
||||
import static org.junit.Assume.assumeNotNull;
|
||||
@@ -74,10 +75,10 @@ import static org.mockito.Mockito.*;
|
||||
*/
|
||||
public class JPEGImageReaderTest extends ImageReaderAbstractTest<JPEGImageReader> {
|
||||
|
||||
protected static final JPEGImageReaderSpi SPI = new JPEGImageReaderSpi(lookupDelegateProvider());
|
||||
private static final JPEGImageReaderSpi SPI = new JPEGImageReaderSpi(lookupDelegateProvider());
|
||||
|
||||
protected static ImageReaderSpi lookupDelegateProvider() {
|
||||
return JPEGImageReaderSpi.lookupDelegateProvider(IIORegistry.getDefaultInstance());
|
||||
private static ImageReaderSpi lookupDelegateProvider() {
|
||||
return lookupProviderByName(IIORegistry.getDefaultInstance(), "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-1
@@ -28,6 +28,7 @@
|
||||
|
||||
package com.twelvemonkeys.imageio.plugins.jpeg;
|
||||
|
||||
import com.twelvemonkeys.imageio.util.IIOUtil;
|
||||
import com.twelvemonkeys.imageio.util.ImageWriterAbstractTestCase;
|
||||
|
||||
import javax.imageio.ImageWriter;
|
||||
@@ -51,7 +52,7 @@ public class JPEGImageWriterTest extends ImageWriterAbstractTestCase {
|
||||
private static final JPEGImageWriterSpi SPI = new JPEGImageWriterSpi(lookupDelegateProvider());
|
||||
|
||||
private static ImageWriterSpi lookupDelegateProvider() {
|
||||
return JPEGImageWriterSpi.lookupDelegateProvider(IIORegistry.getDefaultInstance());
|
||||
return IIOUtil.lookupProviderByName(IIORegistry.getDefaultInstance(), "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user