These release notes detail new functionality added at the 10.2.4 release, API changes that may need attention when upgrading from the previous release, and a list of potential issues and workarounds.
Major changes this release include a beta version of a JavaFX map control, support for direct read of rasters and shapefiles stored on the local device, and improvements to the feature service table to work with online feature services. These changes and more are described below.
JavaFX map control
A JavaFX map control is now available, enabling you to add maps to your JavaFX apps. This map control, FXMap, is in beta at this release and should not be used in production applications. For information on developing applications using FXMap, see Get started with JavaFX (BETA) in the 10.2.4 guide.
Direct read of shapefiles and rasters
Feature layers have been extended to support vector data from Shapefiles and GeoPackages (an Open Geospatial Consortium data format).
- Shapefiles are supported using the ShapefileFeatureTable class.
- GeoPackage vector data is supported using the GeopackageFeatureTable class.
You can now display raster data files and mosaics without the intermediary of the Runtime Local Server. The RasterLayer class supports the following formats:
- SRTM (HGT)
There is a new API to allow you to discover the raster and vector content within a GeoPackage file. The Geopackage class enables you to develop an application for browsing the data and adding it to your map.
Feature service table
At this release, we have continued to improve the API support for applications that can work both online and offline using a single API, using the GeodatabaseFeatureServiceTable.
The feature service table now supports:
- Editor tracking and ownership-based access control functionality
- Creating a GeodatabaseFeatureServiceTable from a nonspatial table (as opposed to a spatial layer) from a service
- Performing related table queries
The feature service table currently does not support:
- Time-aware data
- Setting the geodatabase version of a feature service via the API.
Web Map Tile Services (WMTS) are now supported through the WMTSLayer class.
Migrating existing applications
The 10.2.4 release includes some minor API changes such as the relocation of classes to different packages for a more consistent API, and the deprecation of other classes. The following table shows the refactoring to do if upgrading source code from a Runtime 10.2.3 to a 10.2.4 environment.
|10.2.3 API||10.2.4 API|
com.esri.core.geodatabase.GeodatabaseFeatureTable.getEditInfo(GeodatabaseFeature, EditInfo.ACTION_TYPE) deprecated
Use GeodatabaseFeatureTable.canUpdate(), canDelete(), canCreate() instead
Keep track of your map instances (JMap or FXMap)
Use com.esri.map.Layer.getFullExtent(), or get the current extent from the map via JMap.getExtent() or FXMap.getExtent()
Use JMap.getResolution() or FXMap.getResolution()
Offset rotation mode will no longer be supported after 10.2.4
- NIM103071: User want a way to check when a new GraphicsLayer is instantiated in MessageGroupLayer.
- NIM102115: APP-6B military symbols of type GCT_ARROWWITHOFFSET in a Runtime Java Application SymbolDictionary does not meet the spelt out specification as written in the NATO Joint Symbology specification APP-06(B).
- NIM101565: registerSyncEnabledGeodatabase in GeodatabaseTask does not work with hosted feature service on arcgis.com.
- NIM101433: In the Runtime Java SDK API the GenerateTileCacheParameters class in package com.esri.core.tasks.tilecache throws com.esri.core.io.EsriServiceException: Invalid Levels. Even when the levels are valid.
- NIM102279: MessageProcessor draws REEF as a point symbol but Mil2525c specification has it as a line.
- NIM102076 The code in the description of the Select Graphics Java Runtime SDK sample does not match the source code.
- It is not possible to use ownership-based access control (OBAC) functionality with a disconnected geodatabase created from an ArcGIS Server version earlier than 10.3.
- Workaround: Use ArcGIS for Server 10.3.
- When using a feature service table, you can edit related records, but relationships between records can't be edited, created, or deleted.
- GeoPackage feature tables with the geometry type defined as Geometry or Geometry Collection can't be read, displayed, or edited.
- If a WMS layer has multiple roots, then the WMS layer will only display the initial extent of the first root item.
- Workaround: If the initial extent is not correct, then manually set the map extent.
- Edits to a feature service using ownership-based access control may fail if there is a discrepancy between the case of the username used in the API and the case of the username in the database the feature service was created from.
- Workaround: Ensure you are using the same case as in the database until this ArcGIS for Server issue is resolved.
- When a map view is set to use a custom spatial reference (defined by its base layer using a spatial reference as WKT rather than a WKID), feature layers in that map view will not fetch features correctly and therefore will not be drawn.
- Services with a casing mismatch between the field names used in the ‘editFieldsInfo' and ‘fields’ JSON attributes (defined in the service REST endpoint) may not honor editor tracking.
- Workaround: Ensure your fields all have the same case (for example, all lowercase) in the JSON of the published feature service.
- Javadoc in Eclipse Juno SR 1 may not be visible when hovering mouse pointer over code.
- Workaround: Use a more recent version of Eclipse (Luna, Kepler).
- If an invalid ArcGIS Runtime license is used, and then an attempt is made to initialize the Local Server, the Local Server will not initialize and can't be shutdown.
- Workaround: The related Runtime Local Server process can be killed.
- New feature services created from ArcMap from feature classes that have names containing SQL keywords like "desc" and "asc" may fail to initialize if used in a GeodatabaseFeatureServiceTable.
- Workaround: Change the feature class names to non-reserved words.
- The ArcGIS Runtime application should not be installed in a location that contains multi-byte UTF characters. For example, deploying applications that have paths that contain Japanese characters will cause application startup errors.
- Workaround: Locate Runtime installations in directory paths that do not contain multi-byte UTF characters.
- A Linux Runtime application cannot be run
from a USB stick on different machines. Instead, a Linux application must always run in the same
folder, by the same user, where it was first run. Do not run a Linux application from the
deployment folder you're using as your master deployment copy. The
deployment should be copied to its final destination before running
it for the first time.
- Workaround: Deploy the application onto a local disk. Do not run applications on Linux machines directly from USB drives.
- An ArcGIS Runtime application running in
OpenGL mode cannot be viewed using Remote Desktop.
- Workaround: If using Windows, the application will need to be displayed using DirectX. DirectX is the default display mode for Windows.
- On Windows platforms with low-end graphics cards, applications run in the OpenGL rendering mode may not start up.
- Workaround: Runtime applications should avoid setting the rendering mode. Linux Runtime applications will default to using OpenGL and Windows Runtime applications will default to DirectX. This will allow Runtime applications to function on a wider range of machines.
- Transparency of the popup windows (PopupDialog class) in Linux can be impaired unless system settings are set to support window transparency and advanced desktop effects. For example on RedHat, go to System > Preferences > Desktop Effects and confirm that Compiz is selected: