src/share/classes/sun/java2d/cmm/CMSManager.java

Print this page

        

*** 32,42 **** import java.awt.image.Raster; import java.awt.image.WritableRaster; import java.security.AccessController; import java.security.PrivilegedAction; import sun.security.action.GetPropertyAction; - import java.util.ServiceLoader; public class CMSManager { public static ColorSpace GRAYspace; // These two fields allow access public static ColorSpace LINEAR_RGBspace; // to java.awt.color.ColorSpace // private fields from other --- 32,41 ----
*** 50,88 **** public static synchronized PCMM getModule() { if (cmmImpl != null) { return cmmImpl; } ! CMMServiceProvider spi = AccessController.doPrivileged( ! new PrivilegedAction<CMMServiceProvider>() { ! public CMMServiceProvider run() { ! String cmmClass = System.getProperty( ! "sun.java2d.cmm", "sun.java2d.cmm.lcms.LcmsServiceProvider"); ! ! ServiceLoader<CMMServiceProvider> cmmLoader ! = ServiceLoader.loadInstalled(CMMServiceProvider.class); ! ! CMMServiceProvider spi = null; ! ! for (CMMServiceProvider cmm : cmmLoader) { ! spi = cmm; ! if (cmm.getClass().getName().equals(cmmClass)) { ! break; } } ! return spi; } - }); ! cmmImpl = spi.getColorManagementModule(); if (cmmImpl == null) { throw new CMMException("Cannot initialize Color Management System."+ "No CM module found"); } ! GetPropertyAction gpa = new GetPropertyAction("sun.java2d.cmm.trace"); String cmmTrace = AccessController.doPrivileged(gpa); if (cmmTrace != null) { cmmImpl = new CMMTracer(cmmImpl); } --- 49,80 ---- public static synchronized PCMM getModule() { if (cmmImpl != null) { return cmmImpl; } ! GetPropertyAction gpa = new GetPropertyAction("sun.java2d.cmm"); ! String cmmProviderClass = AccessController.doPrivileged(gpa); ! CMMServiceProvider provider = null; ! if (cmmProviderClass != null) { ! try { ! Class<?> cls = Class.forName(cmmProviderClass); ! provider = (CMMServiceProvider)cls.newInstance(); ! } catch (ReflectiveOperationException e) { } } ! if (provider == null) { ! provider = new sun.java2d.cmm.lcms.LcmsServiceProvider(); } ! cmmImpl = provider.getColorManagementModule(); if (cmmImpl == null) { throw new CMMException("Cannot initialize Color Management System."+ "No CM module found"); } ! gpa = new GetPropertyAction("sun.java2d.cmm.trace"); String cmmTrace = AccessController.doPrivileged(gpa); if (cmmTrace != null) { cmmImpl = new CMMTracer(cmmImpl); }