Hi,
couldn't you use ReflectiveOperationException instead?
Additionally you could better profit from generics:
public static synchronized RenderingEngine getInstance() {
if (reImpl == null) {
reImpl = AccessController.doPrivileged(
new PrivilegedAction<RenderingEngine>() {
public RenderingEngine run() {
String reClass = System.getProperty("sun.java2d.renderer");
if ("sun.dc.DuctusRenderingEngine".equals(reClass)) {
try {
return
(RenderingEngine)Class.forName(reClass).newInstance();
} catch (ReflectiveOperationException ignored) {
} // not found
}
for (RenderingEngine re : ServiceLoader.loadInstalled(
RenderingEngine.class)) {
if (re.getClass().getName().equals(reClass)) {
return re;
}
}
return null;
}
});
if (reImpl == null) {
throw new InternalError("No RenderingEngine module found");
}
if(AccessController.doPrivileged(new GetPropertyAction(
"sun.java2d.renderer.trace")) != null) {
reImpl = new Tracer(reImpl);
}
}
return reImpl;
}
And again more simple just use (no need for try...catch):
public RenderingEngine run() {
String reClass = System.getProperty("sun.java2d.renderer");
if ("sun.dc.DuctusRenderingEngine".equals(reClass)) {
return new sun.dc.DuctusRenderingEngine();
}
for (RenderingEngine re : ServiceLoader.loadInstalled(
RenderingEngine.class)) {
if (re.getClass().getName().equals(reClass)) {
return re;
}
}
return null;
}
-Ulf
Am 23.07.2011 18:16, schrieb Phil Race:
Apparently bugs.openjdk.java.net hasn't heard of JDK 8
-phil.
-------- Original Message --------
Subject: Re: [OpenJDK 2D-Dev] Small patch for multi-catch :)
Date: Sat, 23 Jul 2011 13:35:27 +0200
From: Mario Torre <[email protected]>
To: Phil Race <[email protected]>
CC: [email protected]
2011/7/23 Phil Race<[email protected]>:
Looks OK .. you'll need to generate yourself a bug id.
-phil.
Hello Phil,
Thanks for the quick answer. I filed a new bug report, the ID is 100195:
https://bugs.openjdk.java.net/show_bug.cgi?id=100195
I could not set the target release as JDK8, though.
Cheers,
Mario