code: private static final String getConnectionFactoryID(String application, String module, String component, String jndiName) {
          StringBuilder sb = new StringBuilder(jndiName.length() + 80);
          if (application != null) {
              sb.append(AppDefinedResource.APPLICATION).append('[').append(application).append(']').append('/');
              if (module != null) {
                  sb.append(AppDefinedResource.MODULE).append('[').append(module).append(']').append('/');
                  if (component != null)
                      sb.append(AppDefinedResource.COMPONENT).append('[').append(component).append(']').append('/');
              }
          }
          return sb.append(ConnectionFactoryService.CONNECTION_FACTORY).append('[').append(jndiName).append(']').toString();
      }
docs: Utility method that creates a unique identifier for an application defined data source.
  For example,
  application[MyApp]/module[MyModule]/connectionFactory[java:module/env/jdbc/cf1]
  
  @param application application name if data source is in java:app, java:module, or java:comp. Otherwise null.
  @param module module name if data source is in java:module or java:comp. Otherwise null.
  @param component component name if data source is in java:comp and isn't in web container. Otherwise null.
  @param jndiName configured JNDI name for the data source. For example, java:module/env/jca/cf1
  @return the unique identifier