Hi,
I am looking at internal API usage that we (likely) have to remove during the JDK 11 upgrade effort.
The jdeps tool can scan jars and find internal API usage, so I used it. I’ve already run it on jai-ext (no complaints),
imageio-ext (see results at https://github.com/geosolutions-it/imageio-ext/issues/172 ) and GeoTools (see mail
sent to geotools-devel).
Here are the results running it onto GeoServer (I’ve run assembly:attach, unpacked the WAR, then also unpacked all release
plugins into it, and run jdeps on the resulting WEB-INF/lib):
Warning: split package: java.sql jrt:/java.sql hatbox-1.0.b10.jar
Warning: split package: javax.transaction.xa jrt:/java.transaction.xa jta-1.1.jar
Warning: split package: javax.xml jrt:/java.xml stax-api-1.0.1.jar xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.datatype jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.namespace jrt:/java.xml stax-api-1.0.1.jar xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar xpp3-1.1.3.4.O.jar
Warning: split package: javax.xml.parsers jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.stream jrt:/java.xml stax-api-1.0.1.jar xml-apis-1.4.01.jar
Warning: split package: javax.xml.stream.events jrt:/java.xml stax-api-1.0.1.jar xml-apis-1.4.01.jar
Warning: split package: javax.xml.stream.util jrt:/java.xml stax-api-1.0.1.jar xml-apis-1.4.01.jar
Warning: split package: javax.xml.transform jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.transform.dom jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.transform.sax jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.transform.stax jrt:/java.xml xml-apis-1.4.01.jar
Warning: split package: javax.xml.transform.stream jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.validation jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: javax.xml.xpath jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar xom-1.1.jar
Warning: split package: org.w3c.dom.bootstrap jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.css jrt:/jdk.xml.dom xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.events jrt:/java.xml batik-ext-1.10.jar xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.html jrt:/jdk.xml.dom xercesImpl-2.11.0.jar xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.ls jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.ranges jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.stylesheets jrt:/jdk.xml.dom xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.traversal jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.views jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.w3c.dom.xpath jrt:/jdk.xml.dom xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.xml.sax jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.xml.sax.ext jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
Warning: split package: org.xml.sax.helpers jrt:/java.xml xml-apis-1.4.01.jar xml-apis-xerces-2.7.1.jar
dom4j-1.6.1.jar → JDK removed internal API
org.dom4j.datatype.DatatypeAttribute → org.relaxng.datatype.DatatypeException JDK internal API (JDK removed internal API)
org.dom4j.datatype.DatatypeAttribute → org.relaxng.datatype.ValidationContext JDK internal API (JDK removed internal API)
org.dom4j.datatype.DatatypeElement → org.relaxng.datatype.DatatypeException JDK internal API (JDK removed internal API)
org.dom4j.datatype.DatatypeElement → org.relaxng.datatype.ValidationContext JDK internal API (JDK removed internal API)
org.dom4j.datatype.SchemaParser → org.relaxng.datatype.DatatypeException JDK internal API (JDK removed internal API)
org.dom4j.datatype.SchemaParser → org.relaxng.datatype.ValidationContext JDK internal API (JDK removed internal API)
ehcache-2.10.3.jar → jdk.unsupported
net.sf.ehcache.pool.sizeof.UnsafeSizeOf → sun.misc.Unsafe JDK internal API (jdk.unsupported)
freemarker-2.3.18.jar → java.xml
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xml.internal.utils.PrefixResolver JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.XPath JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.XPathContext JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XBoolean JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XNodeSet JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XNull JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XNumber JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XObject JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport → com.sun.org.apache.xpath.internal.objects.XString JDK internal API (java.xml)
freemarker.ext.dom.SunInternalXalanXPathSupport$1 → com.sun.org.apache.xml.internal.utils.PrefixResolver JDK internal API (java.xml)
gs-platform-2.15-SNAPSHOT.jar → java.desktop
org.geoserver.platform.RenderingEngineStatus → sun.java2d.pipe.RenderingEngine JDK internal API (java.desktop)
gs-web-core-2.15-SNAPSHOT.jar → java.desktop
org.geoserver.web.admin.StatusPanel → sun.java2d.pipe.RenderingEngine JDK internal API (java.desktop)
gs-wms-2.15-SNAPSHOT.jar → java.xml
org.geoserver.wms.featureinfo.RasterLayerIdentifier → com.sun.org.apache.xml.internal.utils.XMLChar JDK internal API (java.xml)
gt-arcsde-21-SNAPSHOT.jar → java.desktop
org.geotools.arcsde.raster.info.RasterUtils → com.sun.imageio.plugins.common.BogusColorSpace JDK internal API (java.desktop)
gt-coverage-api-21-SNAPSHOT.jar → java.desktop
org.geotools.coverage.io.util.Utilities → sun.awt.OSInfo JDK internal API (java.desktop)
org.geotools.coverage.io.util.Utilities → sun.awt.OSInfo$OSType JDK internal API (java.desktop)
guava-25.1-jre.jar → jdk.unsupported
com.google.common.cache.Striped64 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.cache.Striped64$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.cache.Striped64$Cell → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$2 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$3 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64$Cell → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
gwc-wms-1.15-SNAPSHOT.jar → java.desktop
org.geowebcache.io.ImageEncoderImpl$WriteHelper$1 → com.sun.imageio.plugins.png.PNGImageWriter JDK internal API (java.desktop)
hazelcast-3.3.1.jar → jdk.unsupported
com.hazelcast.nio.UTFEncoderDecoder$UnsafeBasedCharArrayUtfWriter → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.hazelcast.nio.UnsafeHelper → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.hazelcast.nio.UnsafeHelper$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.hazelcast.nio.serialization.UnsafeObjectDataInput → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.hazelcast.nio.serialization.UnsafeObjectDataOutput → sun.misc.Unsafe JDK internal API (jdk.unsupported)
imageio-ext-streams-1.1.25.jar → java.desktop
it.geosolutions.imageio.stream.input.spi.FileImageInputStreamExtImplSpi → com.sun.imageio.spi.FileImageInputStreamSpi JDK internal API (java.desktop)
it.geosolutions.imageio.stream.output.spi.FileImageOutputStreamExtImplSpi → com.sun.imageio.spi.FileImageOutputStreamSpi JDK internal API (java.desktop)
imageio-ext-utilities-1.1.25.jar → java.desktop
it.geosolutions.imageio.utilities.ImageIOUtilities → com.sun.imageio.plugins.common.BogusColorSpace JDK internal API (java.desktop)
jai_codec-1.1.3.jar → JDK removed internal API
jai_codec-1.1.3.jar → java.base
com.sun.media.jai.codecimpl.JPEGImage → com.sun.image.codec.jpeg.ImageFormatException JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImage → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImage → com.sun.image.codec.jpeg.JPEGImageDecoder JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImageEncoder → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImageEncoder → com.sun.image.codec.jpeg.JPEGEncodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImageEncoder → com.sun.image.codec.jpeg.JPEGImageEncoder JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.JPEGImageEncoder → com.sun.image.codec.jpeg.JPEGQTable JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.PNMImage → sun.security.action.GetPropertyAction JDK internal API (java.base)
com.sun.media.jai.codecimpl.PNMImageEncoder → sun.security.action.GetPropertyAction JDK internal API (java.base)
com.sun.media.jai.codecimpl.TIFFImage → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.TIFFImage → com.sun.image.codec.jpeg.JPEGDecodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.TIFFImage → com.sun.image.codec.jpeg.JPEGImageDecoder JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.TIFFImageEncoder → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.TIFFImageEncoder → com.sun.image.codec.jpeg.JPEGEncodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.TIFFImageEncoder → com.sun.image.codec.jpeg.JPEGImageEncoder JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.fpx.FPXImage → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.fpx.FPXImage → com.sun.image.codec.jpeg.JPEGDecodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.codecimpl.fpx.FPXImage → com.sun.image.codec.jpeg.JPEGImageDecoder JDK internal API (JDK removed internal API)
jai_core-1.1.3.jar → JDK removed internal API
jai_core-1.1.3.jar → java.desktop
com.sun.media.jai.opimage.IIPResolutionOpImage → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.opimage.IIPResolutionOpImage → com.sun.image.codec.jpeg.JPEGDecodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.opimage.IIPResolutionOpImage → com.sun.image.codec.jpeg.JPEGImageDecoder JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileDecoder → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileDecoder → com.sun.image.codec.jpeg.JPEGDecodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileDecoder → com.sun.image.codec.jpeg.JPEGImageDecoder JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileDecoder → com.sun.image.codec.jpeg.JPEGQTable JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileEncoder → com.sun.image.codec.jpeg.JPEGCodec JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileEncoder → com.sun.image.codec.jpeg.JPEGEncodeParam JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileEncoder → com.sun.image.codec.jpeg.JPEGImageEncoder JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileEncoder → com.sun.image.codec.jpeg.JPEGQTable JDK internal API (JDK removed internal API)
com.sun.media.jai.tilecodec.JPEGTileEncoder → sun.awt.image.codec.JPEGParam JDK internal API (JDK removed internal API)
javax.media.jai.RasterAccessor → sun.awt.image.BytePackedRaster JDK internal API (java.desktop)
jai_imageio-1.1.jar → java.base
com.sun.media.imageioimpl.plugins.pnm.PNMImageReader → sun.security.action.GetPropertyAction JDK internal API (java.base)
com.sun.media.imageioimpl.plugins.pnm.PNMImageWriter → sun.security.action.GetPropertyAction JDK internal API (java.base)
marlin-0.7.5-Unsafe.jar → java.base
marlin-0.7.5-Unsafe.jar → java.desktop
marlin-0.7.5-Unsafe.jar → jdk.unsupported
org.marlin.geom.Path2D → sun.awt.geom.Curve JDK internal API (java.desktop)
org.marlin.geom.Path2D$Double → sun.awt.geom.Curve JDK internal API (java.desktop)
org.marlin.geom.Path2D$Float → sun.awt.geom.Curve JDK internal API (java.desktop)
org.marlin.pisces.CollinearSimplifier → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.DMarlinRenderingEngine → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.DMarlinRenderingEngine → sun.java2d.pipe.AATileGenerator JDK internal API (java.desktop)
org.marlin.pisces.DMarlinRenderingEngine → sun.java2d.pipe.Region JDK internal API (java.desktop)
org.marlin.pisces.DMarlinRenderingEngine → sun.java2d.pipe.RenderingEngine JDK internal API (java.desktop)
org.marlin.pisces.DMarlinRenderingEngine → sun.security.action.GetPropertyAction JDK internal API (java.base)
org.marlin.pisces.DRenderer → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.DRendererContext$PathConsumer2DAdapter → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.Dasher → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.MarlinCache → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.MarlinProperties → sun.security.action.GetPropertyAction JDK internal API (java.base)
org.marlin.pisces.MarlinRenderingEngine → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.MarlinRenderingEngine → sun.java2d.pipe.AATileGenerator JDK internal API (java.desktop)
org.marlin.pisces.MarlinRenderingEngine → sun.java2d.pipe.Region JDK internal API (java.desktop)
org.marlin.pisces.MarlinRenderingEngine → sun.java2d.pipe.RenderingEngine JDK internal API (java.desktop)
org.marlin.pisces.MarlinRenderingEngine → sun.security.action.GetPropertyAction JDK internal API (java.base)
org.marlin.pisces.MarlinTileGenerator → sun.java2d.pipe.AATileGenerator JDK internal API (java.desktop)
org.marlin.pisces.MarlinTileGenerator → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.OffHeapArray → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.OffHeapArray$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.Renderer → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.Renderer → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.marlin.pisces.Stroker → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.Stroker$PolyStack → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.TransformingPathConsumer2D → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.TransformingPathConsumer2D$DeltaScaleFilter → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.TransformingPathConsumer2D$DeltaTransformFilter → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
org.marlin.pisces.TransformingPathConsumer2D$Path2DWrapper → sun.awt.geom.PathConsumer2D JDK internal API (java.desktop)
metrics-core-3.0.2.jar → jdk.unsupported
com.codahale.metrics.Striped64 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.codahale.metrics.Striped64$1 → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.codahale.metrics.Striped64$Cell → sun.misc.Unsafe JDK internal API (jdk.unsupported)
spring-core-4.3.18.RELEASE.jar → jdk.unsupported
org.springframework.objenesis.instantiator.sun.UnsafeFactoryInstantiator → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.springframework.objenesis.instantiator.util.ClassDefinitionUtils → sun.misc.Unsafe JDK internal API (jdk.unsupported)
org.springframework.objenesis.instantiator.util.UnsafeUtils → sun.misc.Unsafe JDK internal API (jdk.unsupported)
spring-ldap-core-2.3.2.RELEASE.jar → java.naming
org.springframework.ldap.core.support.AbstractContextSource → com.sun.jndi.ldap.LdapCtxFactory JDK internal API (java.naming)
xom-1.1.jar → java.xml
nu.xom.JDK15XML1_0Parser → com.sun.org.apache.xerces.internal.parsers.DTDConfiguration JDK internal API (java.xml)
nu.xom.JDK15XML1_0Parser → com.sun.org.apache.xerces.internal.parsers.SAXParser JDK internal API (java.xml)
nu.xom.JDK15XML1_0Parser → com.sun.org.apache.xerces.internal.util.SecurityManager JDK internal API (java.xml)
nu.xom.JDK15XML1_0Parser → com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration JDK internal API (java.xml)
xstream-1.4.10.jar → jdk.unsupported
com.thoughtworks.xstream.converters.reflection.SunLimitedUnsafeReflectionProvider → sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider → sun.misc.Unsafe JDK internal API (jdk.unsupported)
Warning: JDK internal APIs are unsupported and private to JDK implementation that are
subject to be removed or changed incompatibly and could break your application.
Please modify your code to eliminate dependence on any JDK internal APIs.
For the most recent update on JDK internal API replacements, please check:
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
JDK Internal API Suggested Replacement
com.sun.image.codec.jpeg.ImageFormatException Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGCodec Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGDecodeParam Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGEncodeParam Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGImageDecoder Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGImageEncoder Use javax.imageio @since 1.4
com.sun.image.codec.jpeg.JPEGQTable Use javax.imageio @since 1.4
sun.awt.image.codec.JPEGParam Use javax.imageio @since 1.4
sun.misc.Unsafe See http://openjdk.java.net/jeps/260
sun.security.action.GetPropertyAction Use java.security.PrivilegedAction @since 1.1
I’ve grayed out parts that are dealt with in upstream projects, leaving the ones that seem to be specific to GeoServer.
We have pointers to both libraries we are using, and GeoServer modules.
Cheers
Andrea
···
GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.