/** * Unique instance identifier used to differentiate different Tomcat instances in a human-readable * form, unlike InstanceProperties.URL_ATTR. */ private String getInstanceID() { String name = ip.getProperty(PROP_INSTANCE_ID); if (name != null) { return name; } // generate unique tomcat instance identifier (e.g. tomcat55, tomcat55_1, ... // for Tomcat 5.5.x and tomcat50, tomcat50_1... for Tomcat 5.0.x) String prefix; String serverID; switch (tm.getTomcatVersion()) { case TOMCAT_70: prefix = "tomcat70"; // NIO18N serverID = TomcatFactory.SERVER_ID_70; break; case TOMCAT_60: prefix = "tomcat60"; // NIO18N serverID = TomcatFactory.SERVER_ID_60; break; case TOMCAT_55: prefix = "tomcat55"; // NIO18N serverID = TomcatFactory.SERVER_ID_55; break; case TOMCAT_50: default: prefix = "tomcat50"; // NIO18N serverID = TomcatFactory.SERVER_ID_50; } String[] instanceURLs = Deployment.getDefault().getInstancesOfServer(serverID); for (int i = 0; name == null; i++) { if (i == 0) { name = prefix; } else { name = prefix + "_" + i; // NOI18N } for (String url : instanceURLs) { if (!tm.getUri().equals(url)) { InstanceProperties ip = InstanceProperties.getInstanceProperties(url); if (ip != null) { String anotherName = ip.getProperty(PROP_INSTANCE_ID); if (name.equals(anotherName)) { name = null; break; } } } } } ip.setProperty(PROP_INSTANCE_ID, name); return name; }