Ejemplo n.º 1
0
 /**
  * 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;
 }