The next release of ArcGIS Runtime SDK for Java is just around the corner. Version 10.1.1 of the Runtime SDK will bring a LOT of improvements and enhancements to help folks build some fantastic and powerful applications for any device, from desktops to hand-helds. The 1.0 release was an amazing feat, very powerful. 10.1.1 builds upon that great foundation for a better and more productive toolset!
Here are but a few key enhancements you’ll find:
- New Portal API for better and consistent access to Online ArcGIS
- Ability to control labels and symbology of MGRS grids
- Support for Image Services
- Support for OpenStreetMap Layers
- Support for KML Services
- Support for PKI Security
- New Network Analysis Tasks – Route, Service Area, Closest Facility
- New Find Task
- Support for Editor Tracking and Ownership-based Access
- Support for App6b military symbology
- …and MUCH more…
Certainly we want to inundate you with each and every hot new item in this 10.1.1 release, but this would be an extremely long post if I did that right now. Plus, I have my personal favorites, so I will use this particular post to mention those. The other key items will be revealed very soon.
Dynamically add shapefile and raster data sources to your map from workspaces (Java)
Yes, most of us still rely on shapefiles and other file-based data sources for our workflows, and while the WPF API provided this capability to dynamically add them to your map at runtime from a local drive, Java did not have this implemented. It works like a charm now, and will really help a lot of customers. Here is a peak an what the API usage will be like (Java):

Re-ordering graphics layers in a map
It was too bad that this wasn’t functional and clearer in the first release, but the team nailed it down.
You can add *n* number of graphics layers to your map and reorder them on the fly. By the way, you can also use “send to back” and “bring to front” on graphic elements in the same layer. It can work in code as simple as this (Java)(No offense to my WPF friends!):
GraphicsLayer gLayer1 = (GraphicsLayer)map.getLayers().get(1); map.getLayers().remove(2); map.getLayers().add(3,gLayer1);
Enhancement to the Query Task: “Out Statistics”
This is a powerful querying capability. Instead of having to query a bunch of features, bringing them to the client, iterating through them to get attribute values to calculate statistics on those values, you can now use the OutStatistics class and OutStatistcs.Type enum with your queries. This tells the Map Service to do the statistics before sending the query result back to client. The statistic tpyes supported are AVERAGE, MIN, MAX, STANDARD DEVIATION, SUMMARIZE, and COUNT. This enables even faster queries and it lightens the logic required in your client applications. Here is an example of usage:
OutStatistics stats = new OutStatistics(OutStatistics.Type.AVG, "AVE_HH_SZ", "aveHHSZ"); Query query = new Query(); query.setOutStatistics(new OutStatistics[] {stats}); query.setOutFields(new String[] {"*"}); query.setWhere("STATE_FIPS = '31' AND CNTY_FIPS = '111'"); QueryTask qTask = new QueryTask(SERVICE_URL); try { FeatureSet result = qTask.execute(query); Graphic g = result.getGraphics()[0]; System.out.println(g.getAttributeValue("aveHHSZ")); } catch (Exception e) { e.printStackTrace(); }
Ok, so when can you get your hands on this new release? It should be available to EDN subscribers just in time for Christmas, but look for more announcements as we near the middle of December.

Great news!
Will the selection and highlighting of military symbols created by the Message Processing 2525C Component be implemented in the next release?