Program: 134789
Project: 134789
Buggy source:
/** 
 * Internal method for requesting components (non sync).
 * @param requestor		requestor of the component.
 * @param name			name of component to be requested, non-<code>null</code>.
 * @param type			type of component to be requested; if <code>null</code> CDB will be queried.
 * @param code			code of component to be requested; if <code>null</code> CDB will be queried.
 * @param containerName	container name of component to be requested; if <code>null</code> CDB will be queried.
 * @param status			returned completion status of the request.
 * @param activate		<code>true</code> if component has to be activated
 * @return	componentInfo	<code>ComponentInfo</code> of requested component.
 */
private ComponentInfo internalNoSyncRequestComponent(int requestor,String name,String type,String code,String containerName,int keepAliveTime,StatusHolder status,boolean activate) throws AcsJCannotGetComponentEx, AcsJComponentSpecIncompatibleWithActiveComponentEx {
  AcsJCannotGetComponentEx bcex=null;
  if (name == null) {
    bcex=new AcsJCannotGetComponentEx();
    logger.log(Level.SEVERE,"String_Node_Str",bcex);
    throw bcex;
  }
  if (status == null) {
    bcex=new AcsJCannotGetComponentEx();
    logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
    throw bcex;
  }
  boolean isOtherDomainComponent=name.startsWith(CURL_URI_SCHEMA);
  boolean isDynamicComponent=isOtherDomainComponent ? false : (type != null || code != null || containerName != null);
  int h;
  boolean reactivate=false;
  ComponentInfo componentInfo=null;
synchronized (components) {
    h=components.first();
    while (h != 0) {
      componentInfo=(ComponentInfo)components.get(h);
      if (componentInfo.getName().equals(name)) {
synchronized (unavailableComponents) {
          if (unavailableComponents.containsKey(name)) {
            reactivate=true;
          }
        }
        ContainerInfo containerInfo=getContainerInfo(componentInfo.getContainer());
        if ((type != null && !componentInfo.getType().equals(type)) || (code != null && componentInfo.getCode() != null && !componentInfo.getCode().equals(code)) || (!reactivate && containerInfo != null && containerName != null && !containerInfo.getName().equals(containerName))) {
          AcsJComponentSpecIncompatibleWithActiveComponentEx ciwace=new AcsJComponentSpecIncompatibleWithActiveComponentEx();
          ciwace.setCURL(componentInfo.getName());
          ciwace.setComponentType(componentInfo.getType());
          ciwace.setComponentCode(componentInfo.getCode() != null ? componentInfo.getCode() : "String_Node_Str");
          ciwace.setContainerName(containerInfo != null ? containerInfo.getName() : "String_Node_Str");
          throw ciwace;
        }
        if (activate) {
          if (reactivate)           break;
          if (requestor != 0) {
            if (!componentInfo.getClients().contains(requestor))             executeCommand(new ComponentCommandClientAdd(componentInfo.getHandle() & HANDLE_MASK,requestor));
          }
          if (requestor != this.getHandle() && requestor != 0)           addComponentOwner(componentInfo.getHandle(),requestor);
          notifyComponentRequested(new int[]{requestor},new int[]{componentInfo.getHandle()},System.currentTimeMillis());
          if ((requestor & TYPE_MASK) == COMPONENT_MASK) {
            ComponentInfo requestorComponentInfo=getComponentInfo(requestor);
            if (requestorComponentInfo != null && requestorComponentInfo.getContainerName() != null && requestorComponentInfo.getContainerName().equals(componentInfo.getContainerName()))             topologySortManager.notifyTopologyChange(componentInfo.getContainer());
          }
          status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
          return componentInfo;
        }
 else {
          if (reactivate)           status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
 else           status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
          return componentInfo;
        }
      }
      h=components.next(h);
    }
  }
  if (reactivate && componentInfo.isDynamic()) {
    if (componentInfo.getType() == null || componentInfo.getCode() == null || componentInfo.getDynamicContainerName() == null) {
      bcex=new AcsJCannotGetComponentEx();
      logger.log(Level.SEVERE,"String_Node_Str" + componentInfo + "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
      throw bcex;
    }
 else {
      type=componentInfo.getType();
      code=componentInfo.getCode();
      containerName=componentInfo.getDynamicContainerName();
      keepAliveTime=componentInfo.getKeepAliveTime();
    }
  }
 else   if (!isOtherDomainComponent && (type == null || code == null || containerName == null)) {
    DAOProxy dao=getComponentsDAOProxy();
    if (dao == null || readStringCharacteristics(dao,name,true) == null) {
      Object ref=lookup(name,null);
      if (ref != null) {
        status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
        return new ComponentInfo(0,name,null,null,new ServiceComponent(ref));
      }
 else {
        bcex=new AcsJCannotGetComponentEx();
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        throw bcex;
      }
    }
    if (code == null) {
      code=readStringCharacteristics(dao,name + "String_Node_Str");
      if (code == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (type == null) {
      type=readStringCharacteristics(dao,name + "String_Node_Str");
      if (type == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (containerName == null) {
      containerName=readStringCharacteristics(dao,name + "String_Node_Str");
      if (containerName == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (keepAliveTime == RELEASE_TIME_UNDEFINED) {
      keepAliveTime=readLongCharacteristics(dao,name + "String_Node_Str",RELEASE_IMMEDIATELY,true);
    }
  }
  if (keepAliveTime == RELEASE_TIME_UNDEFINED) {
    DAOProxy dao=getComponentsDAOProxy();
    if (dao != null) {
      keepAliveTime=readLongCharacteristics(dao,name + "String_Node_Str",RELEASE_IMMEDIATELY,true);
    }
 else {
      keepAliveTime=RELEASE_IMMEDIATELY;
    }
  }
  DAOProxy dao=getComponentsDAOProxy();
  String componentImplLang=null;
  if (dao != null) {
    componentImplLang=readStringCharacteristics(dao,name + "String_Node_Str",true);
  }
  if (!activate) {
    status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
    return null;
  }
  Container container=null;
  ContainerInfo containerInfo=null;
  Manager remoteManager=null;
  if (isOtherDomainComponent) {
    try {
      String domainName=CURLHelper.createURI(name).getAuthority();
      remoteManager=getManagerForDomain(domainName);
      if (remoteManager == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.WARNING,"String_Node_Str" + domainName + "String_Node_Str",bcex);
        throw bcex;
      }
    }
 catch (    Throwable th) {
      bcex=new AcsJCannotGetComponentEx(th);
      logger.log(Level.WARNING,"String_Node_Str" + name + "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
      throw bcex;
    }
  }
 else {
    containerInfo=getContainerInfo(containerName);
    if (containerInfo == null)     containerInfo=startUpContainer(containerName);
    if (containerInfo != null) {
      checkContainerShutdownState(containerInfo);
      container=containerInfo.getContainer();
    }
    if (container == null) {
      bcex=new AcsJCannotGetComponentEx();
      logger.log(Level.SEVERE,"String_Node_Str" + containerName + "String_Node_Str"+ name+ "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
      throw bcex;
    }
  }
  ImplLang containerImplLang=containerInfo.getImplLang();
  if (containerImplLang != null && containerImplLang != ImplLang.not_specified) {
    if (componentImplLang != null && ImplLang.fromString(componentImplLang) != containerImplLang) {
      AcsJCannotGetComponentEx af=new AcsJCannotGetComponentEx();
      logger.log(Level.WARNING,"String_Node_Str" + componentImplLang + "String_Node_Str"+ containerImplLang.name()+ "String_Node_Str",af);
      throw af;
    }
  }
synchronized (components) {
    if (!reactivate) {
      Integer objHandle=(Integer)executeCommand(new ComponentCommandPreallocate());
      h=(objHandle == null) ? 0 : objHandle.intValue();
    }
    if (h == 0) {
      AcsJCannotGetComponentEx af=new AcsJCannotGetComponentEx();
      logger.log(Level.WARNING,"String_Node_Str",af);
      throw af;
    }
    if (!reactivate) {
      ComponentInfo data=new ComponentInfo(h | COMPONENT_MASK,name,type,code,null);
      data.setKeepAliveTime(keepAliveTime);
      executeCommand(new ComponentCommandSet(h,data));
synchronized (pendingActivations) {
        componentInfo=(ComponentInfo)pendingActivations.put(name,data);
      }
      if ((requestor & TYPE_MASK) == COMPONENT_MASK)       addComponentOwner(data.getHandle(),requestor);
    }
  }
  componentInfo=null;
  long executionId=0;
  long activationTime=0;
  boolean timeoutError=false;
  if (isOtherDomainComponent) {
    try {
      URI curlName=CURLHelper.createURI(name);
      StatusHolder statusHolder=new StatusHolder();
      remoteManager.getComponent(INTERDOMAIN_MANAGER_HANDLE,curlName,true,statusHolder);
      activationTime=System.currentTimeMillis();
      if (statusHolder.getStatus() == ComponentStatus.COMPONENT_ACTIVATED) {
        String localName=curlName.getPath();
        if (localName.charAt(0) == '/')         localName=localName.substring(1);
        ComponentInfo[] infos=remoteManager.getComponentInfo(INTERDOMAIN_MANAGER_HANDLE,new int[0],localName,"String_Node_Str",true);
        if (infos != null && infos.length == 1) {
          componentInfo=infos[0];
          componentInfo.setContainerName(CURL_URI_SCHEMA + curlName.getAuthority() + "String_Node_Str"+ componentInfo.getContainerName());
        }
      }
    }
 catch (    Throwable ex) {
      bcex=new AcsJCannotGetComponentEx(ex);
      logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
      timeoutError=(ex instanceof TimeoutRemoteException);
    }
  }
 else {
    logger.log(Level.INFO,"String_Node_Str" + name + "String_Node_Str"+ HandleHelper.toString(h | COMPONENT_MASK)+ "String_Node_Str"+ containerInfo.getName()+ "String_Node_Str");
    boolean callSyncActivate=System.getProperties().containsKey(NAME_SYNC_ACTIVATE);
    if (containerInfo.getImplLang() == ImplLang.py)     callSyncActivate=true;
    if (callSyncActivate) {
      try {
        executionId=generateExecutionId();
        activationTime=System.currentTimeMillis();
        componentInfo=container.activate_component(h | COMPONENT_MASK,executionId,name,code,type);
      }
 catch (      Throwable ex) {
        bcex=new AcsJCannotGetComponentEx(ex);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str"+ containerName+ "String_Node_Str",bcex);
        timeoutError=(ex instanceof TimeoutRemoteException);
      }
    }
 else {
      try {
        executionId=generateExecutionId();
        activationTime=System.currentTimeMillis();
        ComponentInfoCompletionCallbackImpl callback=new ComponentInfoCompletionCallbackImpl(requestor,name,type,code,containerName,keepAliveTime,status,isOtherDomainComponent,isDynamicComponent,h,reactivate,container,containerInfo,executionId,activationTime);
        container.activate_component_async(h | COMPONENT_MASK,executionId,name,code,type,callback);
        return callback.waitUntilActivated(getLockTimeout());
      }
 catch (      Throwable ex) {
        bcex=new AcsJCannotGetComponentEx(ex);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str"+ containerName+ "String_Node_Str",bcex);
        throw bcex;
      }
    }
  }
  return internalNoSyncRequestComponentPhase2(requestor,name,type,code,containerName,keepAliveTime,status,bcex,isOtherDomainComponent,isDynamicComponent,h,reactivate,componentInfo,container,containerInfo,executionId,activationTime,timeoutError);
}

Fixed version (ground truth):
/** 
 * Internal method for requesting components (non sync).
 * @param requestor		requestor of the component.
 * @param name			name of component to be requested, non-<code>null</code>.
 * @param type			type of component to be requested; if <code>null</code> CDB will be queried.
 * @param code			code of component to be requested; if <code>null</code> CDB will be queried.
 * @param containerName	container name of component to be requested; if <code>null</code> CDB will be queried.
 * @param status			returned completion status of the request.
 * @param activate		<code>true</code> if component has to be activated
 * @return	componentInfo	<code>ComponentInfo</code> of requested component.
 */
private ComponentInfo internalNoSyncRequestComponent(int requestor,String name,String type,String code,String containerName,int keepAliveTime,StatusHolder status,boolean activate) throws AcsJCannotGetComponentEx, AcsJComponentSpecIncompatibleWithActiveComponentEx {
  AcsJCannotGetComponentEx bcex=null;
  if (name == null) {
    bcex=new AcsJCannotGetComponentEx();
    logger.log(Level.SEVERE,"String_Node_Str",bcex);
    throw bcex;
  }
  if (status == null) {
    bcex=new AcsJCannotGetComponentEx();
    logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
    throw bcex;
  }
  boolean isOtherDomainComponent=name.startsWith(CURL_URI_SCHEMA);
  boolean isDynamicComponent=isOtherDomainComponent ? false : (type != null || code != null || containerName != null);
  int h;
  boolean reactivate=false;
  ComponentInfo componentInfo=null;
synchronized (components) {
    h=components.first();
    while (h != 0) {
      componentInfo=(ComponentInfo)components.get(h);
      if (componentInfo.getName().equals(name)) {
synchronized (unavailableComponents) {
          if (unavailableComponents.containsKey(name)) {
            reactivate=true;
          }
        }
        ContainerInfo containerInfo=getContainerInfo(componentInfo.getContainer());
        if ((type != null && !componentInfo.getType().equals(type)) || (code != null && componentInfo.getCode() != null && !componentInfo.getCode().equals(code)) || (!reactivate && containerInfo != null && containerName != null && !containerInfo.getName().equals(containerName))) {
          AcsJComponentSpecIncompatibleWithActiveComponentEx ciwace=new AcsJComponentSpecIncompatibleWithActiveComponentEx();
          ciwace.setCURL(componentInfo.getName());
          ciwace.setComponentType(componentInfo.getType());
          ciwace.setComponentCode(componentInfo.getCode() != null ? componentInfo.getCode() : "String_Node_Str");
          ciwace.setContainerName(containerInfo != null ? containerInfo.getName() : "String_Node_Str");
          throw ciwace;
        }
        if (activate) {
          if (reactivate)           break;
          if (requestor != 0) {
            if (!componentInfo.getClients().contains(requestor))             executeCommand(new ComponentCommandClientAdd(componentInfo.getHandle() & HANDLE_MASK,requestor));
          }
          if (requestor != this.getHandle() && requestor != 0)           addComponentOwner(componentInfo.getHandle(),requestor);
          notifyComponentRequested(new int[]{requestor},new int[]{componentInfo.getHandle()},System.currentTimeMillis());
          if ((requestor & TYPE_MASK) == COMPONENT_MASK) {
            ComponentInfo requestorComponentInfo=getComponentInfo(requestor);
            if (requestorComponentInfo != null && requestorComponentInfo.getContainerName() != null && requestorComponentInfo.getContainerName().equals(componentInfo.getContainerName()))             topologySortManager.notifyTopologyChange(componentInfo.getContainer());
          }
          status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
          return componentInfo;
        }
 else {
          if (reactivate)           status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
 else           status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
          return componentInfo;
        }
      }
      h=components.next(h);
    }
  }
  if (reactivate && componentInfo.isDynamic()) {
    if (componentInfo.getType() == null || componentInfo.getCode() == null || componentInfo.getDynamicContainerName() == null) {
      bcex=new AcsJCannotGetComponentEx();
      logger.log(Level.SEVERE,"String_Node_Str" + componentInfo + "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
      throw bcex;
    }
 else {
      type=componentInfo.getType();
      code=componentInfo.getCode();
      containerName=componentInfo.getDynamicContainerName();
      keepAliveTime=componentInfo.getKeepAliveTime();
    }
  }
 else   if (!isOtherDomainComponent && (type == null || code == null || containerName == null)) {
    DAOProxy dao=getComponentsDAOProxy();
    if (dao == null || readStringCharacteristics(dao,name,true) == null) {
      Object ref=lookup(name,null);
      if (ref != null) {
        status.setStatus(ComponentStatus.COMPONENT_ACTIVATED);
        return new ComponentInfo(0,name,null,null,new ServiceComponent(ref));
      }
 else {
        bcex=new AcsJCannotGetComponentEx();
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        throw bcex;
      }
    }
    if (code == null) {
      code=readStringCharacteristics(dao,name + "String_Node_Str");
      if (code == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (type == null) {
      type=readStringCharacteristics(dao,name + "String_Node_Str");
      if (type == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (containerName == null) {
      containerName=readStringCharacteristics(dao,name + "String_Node_Str");
      if (containerName == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
        status.setStatus(ComponentStatus.COMPONENT_DOES_NO_EXIST);
        throw bcex;
      }
    }
    if (keepAliveTime == RELEASE_TIME_UNDEFINED) {
      keepAliveTime=readLongCharacteristics(dao,name + "String_Node_Str",RELEASE_IMMEDIATELY,true);
    }
  }
  if (keepAliveTime == RELEASE_TIME_UNDEFINED) {
    DAOProxy dao=getComponentsDAOProxy();
    if (dao != null) {
      keepAliveTime=readLongCharacteristics(dao,name + "String_Node_Str",RELEASE_IMMEDIATELY,true);
    }
 else {
      keepAliveTime=RELEASE_IMMEDIATELY;
    }
  }
  DAOProxy dao=getComponentsDAOProxy();
  String componentImplLang=null;
  if (dao != null) {
    componentImplLang=readStringCharacteristics(dao,name + "String_Node_Str",true);
  }
  if (!activate) {
    status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
    return null;
  }
  Container container=null;
  ContainerInfo containerInfo=null;
  Manager remoteManager=null;
  if (isOtherDomainComponent) {
    try {
      String domainName=CURLHelper.createURI(name).getAuthority();
      remoteManager=getManagerForDomain(domainName);
      if (remoteManager == null) {
        bcex=new AcsJCannotGetComponentEx();
        logger.log(Level.WARNING,"String_Node_Str" + domainName + "String_Node_Str",bcex);
        throw bcex;
      }
    }
 catch (    Throwable th) {
      bcex=new AcsJCannotGetComponentEx(th);
      logger.log(Level.WARNING,"String_Node_Str" + name + "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
      throw bcex;
    }
  }
 else {
    containerInfo=getContainerInfo(containerName);
    if (containerInfo == null)     containerInfo=startUpContainer(containerName);
    if (containerInfo != null) {
      checkContainerShutdownState(containerInfo);
      container=containerInfo.getContainer();
    }
    if (container == null) {
      bcex=new AcsJCannotGetComponentEx();
      logger.log(Level.SEVERE,"String_Node_Str" + containerName + "String_Node_Str"+ name+ "String_Node_Str",bcex);
      status.setStatus(ComponentStatus.COMPONENT_NOT_ACTIVATED);
      throw bcex;
    }
  }
  ImplLang containerImplLang=containerInfo.getImplLang();
  if (containerImplLang != null && containerImplLang != ImplLang.not_specified) {
    if (componentImplLang != null && ImplLang.fromString(componentImplLang) != containerImplLang) {
      AcsJCannotGetComponentEx af=new AcsJCannotGetComponentEx();
      logger.log(Level.WARNING,"String_Node_Str" + componentImplLang + "String_Node_Str"+ containerImplLang.name()+ "String_Node_Str",af);
      throw af;
    }
  }
synchronized (components) {
    if (!reactivate) {
      Integer objHandle=(Integer)executeCommand(new ComponentCommandPreallocate());
      h=(objHandle == null) ? 0 : objHandle.intValue();
    }
    if (h == 0) {
      AcsJCannotGetComponentEx af=new AcsJCannotGetComponentEx();
      logger.log(Level.WARNING,"String_Node_Str",af);
      throw af;
    }
    if (!reactivate) {
      ComponentInfo data=new ComponentInfo(h | COMPONENT_MASK,name,type,code,null);
      data.setKeepAliveTime(keepAliveTime);
      executeCommand(new ComponentCommandSet(h,data));
synchronized (pendingActivations) {
        pendingActivations.put(name,data);
      }
      if ((requestor & TYPE_MASK) == COMPONENT_MASK)       addComponentOwner(data.getHandle(),requestor);
    }
  }
  componentInfo=null;
  long executionId=0;
  long activationTime=0;
  boolean timeoutError=false;
  if (isOtherDomainComponent) {
    try {
      URI curlName=CURLHelper.createURI(name);
      StatusHolder statusHolder=new StatusHolder();
      remoteManager.getComponent(INTERDOMAIN_MANAGER_HANDLE,curlName,true,statusHolder);
      activationTime=System.currentTimeMillis();
      if (statusHolder.getStatus() == ComponentStatus.COMPONENT_ACTIVATED) {
        String localName=curlName.getPath();
        if (localName.charAt(0) == '/')         localName=localName.substring(1);
        ComponentInfo[] infos=remoteManager.getComponentInfo(INTERDOMAIN_MANAGER_HANDLE,new int[0],localName,"String_Node_Str",true);
        if (infos != null && infos.length == 1) {
          componentInfo=infos[0];
          componentInfo.setContainerName(CURL_URI_SCHEMA + curlName.getAuthority() + "String_Node_Str"+ componentInfo.getContainerName());
        }
      }
    }
 catch (    Throwable ex) {
      bcex=new AcsJCannotGetComponentEx(ex);
      logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str",bcex);
      timeoutError=(ex instanceof TimeoutRemoteException);
    }
  }
 else {
    logger.log(Level.INFO,"String_Node_Str" + name + "String_Node_Str"+ HandleHelper.toString(h | COMPONENT_MASK)+ "String_Node_Str"+ containerInfo.getName()+ "String_Node_Str");
    boolean callSyncActivate=System.getProperties().containsKey(NAME_SYNC_ACTIVATE);
    if (containerInfo.getImplLang() == ImplLang.py)     callSyncActivate=true;
    if (callSyncActivate) {
      try {
        executionId=generateExecutionId();
        activationTime=System.currentTimeMillis();
        componentInfo=container.activate_component(h | COMPONENT_MASK,executionId,name,code,type);
      }
 catch (      Throwable ex) {
        bcex=new AcsJCannotGetComponentEx(ex);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str"+ containerName+ "String_Node_Str",bcex);
        timeoutError=(ex instanceof TimeoutRemoteException);
      }
    }
 else {
      try {
        executionId=generateExecutionId();
        activationTime=System.currentTimeMillis();
        ComponentInfoCompletionCallbackImpl callback=new ComponentInfoCompletionCallbackImpl(requestor,name,type,code,containerName,keepAliveTime,status,isOtherDomainComponent,isDynamicComponent,h,reactivate,container,containerInfo,executionId,activationTime);
        container.activate_component_async(h | COMPONENT_MASK,executionId,name,code,type,callback);
        return callback.waitUntilActivated(getLockTimeout());
      }
 catch (      Throwable ex) {
        bcex=new AcsJCannotGetComponentEx(ex);
        logger.log(Level.SEVERE,"String_Node_Str" + name + "String_Node_Str"+ containerName+ "String_Node_Str",bcex);
        throw bcex;
      }
    }
  }
  return internalNoSyncRequestComponentPhase2(requestor,name,type,code,containerName,keepAliveTime,status,bcex,isOtherDomainComponent,isDynamicComponent,h,reactivate,componentInfo,container,containerInfo,executionId,activationTime,timeoutError);
}