Retrotranslator - Convert Java5/6 Classes to 1.4
Retrotranslator is a tool that makes Java applications compatible with Java 1.4, Java 1.3 and other environments. It supports all Java 5.0 language features and a significant part of the Java 5.0 API on both J2SE 1.4 and J2SE 1.3. In other Java environments only the Java 5.0 features that don’t depend on the new API are supported.
Could prove very handy !
LinkedHashMap is Actually Quite Useful
After reading this article, I’ve done a little code reviewing …. Great Class !
[JavaSpecialists 073] - LinkedHashMap is Actually Quite Useful
Java Performance Tuning Startup Parameters
I’ve come across these startup parameters which really seem to speed up the performance of our servers. They only work in the latest versions (1.4.2_15 & 1.5.0_12). But they really make a noticeable difference.
-XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=40 -XX:+UseCMSInitiatingOccupancyOnly
Online Spatial data editing
At eSpatial we’re getting ready to release iSMART 5.3, one of the major new features is a completely revamped online spatial data editing capability. In the development team, we’re all pretty excited about its capabilities, because it like nothing we’ve seen before in a pure web (i.e. No Applet) mode.
Click the link below to get access to the early-access demo recording.
eSpatial _ next generation geospatial technology
Handy way to add extra custom Option Buttons into a JOptionPane
private void showMyPopup()
{
//Object accessed iunside inner class must be final
final MyObject myo = new MyObject();
//Create Buttons
JButton btnOK = new JButton( “Ok” );
JButton btnCancel = new JButton( “Cancel” );
JButton btnPreview = new JButton( “Preview” );
Object[] options = new Object[]{btnOK, btnCancel, btnPreview};
//Create JOptionPane Object
JOptionPane jop = new JOptionPane(
myo, JOptionPane.PLAIN_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION, null, options );
//Create JDialog from JOptionPane Object
final JDialog jd = jop.createDialog( editorApp, “JOptionPane Tester” );
//Create ActionListener
ActionListener list = new ActionListener()
{
public void actionPerformed(ActionEvent ae){
if ( ae.getActionCommand().equals( “Ok” ) || ae.getActionCommand().equals( “Preview” ) )
{
//Do the Work when Preview or OK are pressed
myo.executePreview();
}
if ( ae.getActionCommand().equals( “Ok” ) || ae.getActionCommand().equals( “Cancel” ) )
{
//Close the Dialig when OK or Cancel Are pressed
jd.dispose();
}
}};
//Add ActionListners
btnOK.addActionListener( list );
btnCancel.addActionListener( list );
btnPreview.addActionListener( list );
//Show JDialog
jd.show();
}
Parsing XML without an Internet connection
I came across this hand bit of Java to allow you to parse XML while behind a restrictive firewall or without any internet connection at all. Previously, reading the DTD was causing java.net.UnknownHostException’s, the updated code stops the parser from trying to connect to the Internet to download the DTD.
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
//Here is the new code….
docBuilder.setEntityResolver( new EntityResolver() {
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
return new InputSource(
new ByteArrayInputStream( ““.getBytes()));
}
} );
document = docBuilder.parse(xmlFile);
Google Maps - My Maps
I’ve been watching with interested as a whole lot of people get excited about the new “My Maps” functionality in Google Maps. It looks quite impressive, but is really nothing new, well not to me anyway. We’ve been writing on-line digitizing functionality for a few years now adding more and more functionality with every release, the difference being that our product is a commercial one, which you will not find too many free-to-access public deployments of it which allows digitizing functionality.
Google Maps and our product have always had quite a different focus/market position and this is the first time that they’ve crossed paths (Ignoring the export to KMZ functionality I wrote last year). However, rather than starting to worry about another major competitor, I maintain the same position that I had when writing my Thesis (gCommerce - How GIS is facilitating modern business), that publicly available mapping solutions will just increase the usage of on-line maps and ultimately lead to generating more business as a whole for the industry.
I do feel a vague sense of jealously watching all the praise that I am reading for the “My Maps” functionality, but such is life I guess !