/**
  * receives notification of the value for a particular tag
  *
  * @param element the xml element
  * @param value it's associated value
  */
 public void setElementValue(XMLElement element, String value) {
   if (element.getQName().equals(RuntimeTagNames.PASS_BY_REFERENCE)) {
     descriptor.setPassByReference("true".equalsIgnoreCase(value));
   } else if (element.getQName().equals(RuntimeTagNames.UNIQUE_ID)) {
     DOLUtils.getDefaultLogger().finer("Ignoring unique id");
     return;
   } else if (element.getQName().equals(RuntimeTagNames.ARCHIVE_NAME)) {
     descriptor.setArchiveName(value);
   } else if (element.getQName().equals(RuntimeTagNames.COMPATIBILITY)) {
     descriptor.setCompatibility(value);
   } else if (element.getQName().equals(RuntimeTagNames.WEB_URI)) {
     currentWebUri = value;
   } else if (element.getQName().equals(RuntimeTagNames.CONTEXT_ROOT)) {
     if (currentWebUri != null) {
       ModuleDescriptor md = descriptor.getModuleDescriptorByUri(currentWebUri);
       if (md == null) {
         throw new RuntimeException("No bundle in application with uri " + currentWebUri);
       }
       currentWebUri = null;
       if (md.getModuleType().equals(DOLUtils.warType())) {
         md.setContextRoot(value);
       } else {
         throw new RuntimeException(currentWebUri + " uri does not point to a web bundle");
       }
     } else {
       throw new RuntimeException("No uri provided for this context-root " + value);
     }
   } else if (element.getQName().equals(RuntimeTagNames.KEEP_STATE)) {
     descriptor.setKeepState(value);
   } else if (element.getQName().equals(RuntimeTagNames.VERSION_IDENTIFIER)) {
   } else super.setElementValue(element, value);
 }
 /** Initialize the child handlers */
 protected void init() {
   super.init();
   registerElementHandler(
       new XMLElement(RuntimeTagNames.SECURITY_ROLE_MAPPING), SecurityRoleMappingNode.class);
   registerElementHandler(
       new XMLElement(RuntimeTagNames.RESOURCE_REFERENCE), ResourceRefNode.class);
   registerElementHandler(new XMLElement(RuntimeTagNames.EJB_REFERENCE), EjbRefNode.class);
   registerElementHandler(
       new XMLElement(RuntimeTagNames.RESOURCE_ENV_REFERENCE), ResourceEnvRefNode.class);
   registerElementHandler(
       new XMLElement(RuntimeTagNames.MESSAGE_DESTINATION_REFERENCE),
       MessageDestinationRefNode.class);
   registerElementHandler(
       new XMLElement(RuntimeTagNames.MESSAGE_DESTINATION), MessageDestinationRuntimeNode.class);
   registerElementHandler(new XMLElement(WebServicesTagNames.SERVICE_REF), ServiceRefNode.class);
 }