<p>This method is used to create a link that is localised on this ME.</p>

@param destinationLocalizationDefinition
@param destinationDefinition
491776
public void createLinkLocalization(VirtualLinkDefinition virtualLinkDefinition)
                    throws SIResourceException, SIIncorrectCallException
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "createLinkLocalization", new Object[] { virtualLinkDefinition });

        // Create a local UOW
        LocalTransaction transaction = txManager.createLocalTransaction(false);

        // Try to create the local destination.
        try
        {
            createLinkLocalization(virtualLinkDefinition, transaction);

            // If everything was successful then commit the unit of work
            transaction.commit();
        } catch (SIIncorrectCallException e)
        {
            // No FFDC code needed
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                SibTr.exit(tc, "createLinkLocalization", e);

            handleRollback(transaction);

            throw e;
        } catch (RuntimeException e)
        {
            // FFDC
            FFDCFilter.processException(
                                        e,
                                        "com.ibm.ws.sib.processor.impl.DestinationManager.createLinkLocalization",
                                        "1:6049:1.508.1.7",
                                        this);

            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            {
                SibTr.exception(tc, e);
                SibTr.exit(tc, "createLinkLocalization", e);
            }

            handleRollback(transaction);

            // PK69423 Put the link in-doubt, so we do not delete it when we reconcile
            putLinkIntoIndoubtState(virtualLinkDefinition.getName());

            throw e;
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "createLinkLocalization");
    }
187364
@Override
    public void setDestination(SIDestinationAddress destinationAddr)
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "setDestination", destinationAddr);

        if (destinationAddr != null)
        {
            try
            {
                _originalDestination = _messageProcessor.getDestinationManager().getDestination((JsDestinationAddress) destinationAddr, true);
            } catch (SIException e)
            {
                // No FFDC code needed

                /* Generate warning but retry with default exception destination */
                SibTr.warning(tc, "EXCEPTION_DESTINATION_WARNING_CWSIP0291",
                              new Object[] { destinationAddr.getDestinationName(), _messageProcessor.getMessagingEngineName(), e });

                // Create a handler to the default if provided destination is inaccessible
                _originalDestination = null;
            }
        }
        else
            _originalDestination = null;

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "setDestination", _originalDestination);
    }
898510
private void createDestination(String name, 
                                 com.ibm.wsspi.sib.core.DestinationType destType,
                                 Reliability defaultReliability)
    throws JMSException
  {
    if (tcInt.isEntryEnabled())
      SibTr.entry(tcInt, "createDestination(String, DestinationType)");
      
    if (tcInt.isDebugEnabled())
    {
      SibTr.debug(tcInt, "name: "+name);
      SibTr.debug(tcInt, "type: "+destType);
    }
    
    try
    {

      try
      {
        
        // Obtain information about the destination from the core connection.
        SIDestinationAddress sida = JmsServiceFacade.getSIDestinationAddressFactory().createSIDestinationAddress(name, null);        
        DestinationConfiguration dc = coreConnection.getDestinationConfiguration(sida);
        
        // If the Destination exists, then recreate it.        
        if (dc != null)
        {
          String uuid = dc.getUUID();  
          if (tcInt.isDebugEnabled()) SibTr.debug(tcInt, "delete UUID: "+uuid);
          
          // The destination has been found, so delete it.
          admin.deleteDestinationLocalization(uuid, null);
             
        } else
        {
          if (tcInt.isDebugEnabled())
            SibTr.debug(tcInt, "No object was returned from getDestinationConfiguration");
        }
        
        
      } catch(SINotPossibleInCurrentConfigurationException f)
      {
        // No FFDC code needed
        // This is OK. No action required.
      }      
      
      //lohith liberty change
      
      com.ibm.ws.sib.admin.DestinationDefinition adminDDF = null ; //JsAdminFactory.getInstance(.createDestinationDefinition(destType, name);          
      adminDDF.setMaxReliability(Reliability.ASSURED_PERSISTENT);
      adminDDF.setDefaultReliability(defaultReliability);

      // Set the default exception destination
      String excDestinationName = SIMPConstants.SYSTEM_DEFAULT_EXCEPTION_DESTINATION+getMEName();
      adminDDF.setExceptionDestination(excDestinationName);

      //lohith liberty change
      LocalizationDefinition dloc = null; // JsAdminFactory.getInstance().createLocalizationDefinition(name);
      
      // Make sure the max message count is outside the range used by the tests.
      dloc.setDestinationHighMsgs(30000);

      //lohith liberty change
      admin.createDestinationLocalization(adminDDF, dloc ); //, null, null, null, null);
      
      
    } catch (Exception se)
    {
      // No FFDC code needed
      if (tcInt.isDebugEnabled())
        SibTr.debug(tcInt, "Exception creating", se);
        
      // NB. No need to NLS this because it is only for unit test.
      JMSException jmse =
        new JMSException("Exception received creating destination");
      jmse.setLinkedException(se);
      jmse.initCause(se);
      
      if (tcInt.isEntryEnabled())
         SibTr.exit(tcInt, "createDestination(String, DestinationDefinition)");
      throw jmse;
    }
    
    if (tcInt.isEntryEnabled())
       SibTr.exit(tcInt, "createDestination(String, DestinationDefinition)");

  }
767970
private void deleteDestLocalizations(JsBus bus) {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            SibTr.entry(tc, "deleteDestLocalizations", this);
        }

        Iterator i = alterDestinations.iterator();

        while (i.hasNext()) {

            String key = (String) i.next();

            try {
                // Get it from the old cache as it is no longer in the new cache.
                DestinationDefinition dd = (DestinationDefinition) _me.getSIBDestination(bus.getName(), key);
                if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                    SibTr.debug(tc, "deleteDestLocalizations: deleting DestinationLocalization, name =" + key + " Name=");
                }
                if (!isInZOSServentRegion() && _mpAdmin != null) {
                	LocalizationEntry dldEntry = (LocalizationEntry) lpMap.get(dd.getName()+"@"+_me.getName());
                	LocalizationDefinition dld=(LocalizationDefinition) dldEntry.getLocalizationDefinition();
                	
                    //Venu Liberty change: passing Destination UUID as String.
                    //Destination Definition is passed as NULL as entire destination has to be deleted
                    _mpAdmin.deleteDestinationLocalization(dd.getUUID().toString(), null);  
                }
               
            } catch (Exception e) {
                com.ibm.ws.ffdc.FFDCFilter.processException(e, CLASS_NAME + ".deleteDestLocalizations", "1", this);
                SibTr.exception(tc, e);
            }
        }
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            SibTr.exit(tc, "deleteDestLocalizations");
        }
    }
38748
public void setDestinationName(final String destinationName) {

        if (TraceComponent.isAnyTracingEnabled() && TRACE.isDebugEnabled()) {
            SibTr.debug(this, TRACE, "DestinationName", destinationName);
        }
        _destinationName = destinationName;

    }
425321
public void addExportPoint(String uri, String destination) {

        CmsExportPoint point = new CmsExportPoint(uri, destination);
        m_exportPoints.add(point);
        if (CmsLog.INIT.isInfoEnabled() && (point.getDestinationPath() != null)) {
            CmsLog.INIT.info(
                Messages.get().getBundle().key(
                    Messages.INIT_ADD_EXPORT_POINT_2,
                    point.getUri(),
                    point.getDestinationPath()));
        }
    }
243906
public boolean addLocalizationPoint(LWMConfig lp, DestinationDefinition dd) {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            SibTr.entry(tc, "addLocalizationPoint", lp);
        }

        boolean valid = false;
        LocalizationDefinition ld = ((JsAdminFactoryImpl) jsaf).createLocalizationDefinition(lp);
        if (!isInZOSServentRegion()) {
            _mpAdmin = ((SIMPAdmin) _me.getMessageProcessor()).getAdministrator();
        }
        try {
            _mpAdmin.createDestinationLocalization(dd, ld);
            updatedDestDefList.add(dd);
            updatedLocDefList.add(ld);
            LocalizationEntry lEntry = new LocalizationEntry(ld);
            lpMap.put(ld.getName(), lEntry);

            MasterEntry newMasterEntry = new MasterEntry();
            newMasterEntry.setDestinationLocalization(ld);
            masterMap.put(dd.getName(), newMasterEntry);
            valid = true;
        } catch (Exception e) {
            SibTr.error(tc, "LOCALIZATION_EXCEPTION_SIAS0113", e);
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
            SibTr.exit(tc, "addLocalizationPoint", Boolean.valueOf(valid));
        }
        return valid;
    }
185056
public void setDestinationEncryptionContext(java.util.Map<String, String> destinationEncryptionContext) {
        this.destinationEncryptionContext = destinationEncryptionContext == null ? null : new com.amazonaws.internal.SdkInternalMap<String, String>(
                destinationEncryptionContext);
    }
1254150
public void setCPDefinitionLinkService(
		com.liferay.commerce.product.service.CPDefinitionLinkService cpDefinitionLinkService) {
		this.cpDefinitionLinkService = cpDefinitionLinkService;
	}
1322718
public final void loadLocalizations() {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "loadLocalizations", this);

        _localizer.loadLocalizations();
        try {
            setJsDestinationUUIDCache(_localizer.updatedDestDefList);
        } catch (Exception e) {
            SibTr.entry(tc, "Exception while updating UUID Destination Cache in ", e);
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "loadLocalizations");
    }
860754
void registerDestination()
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "registerDestination");

        // Dont register temporary destinations or system destinations.
        if (!isTemporary() && !_isSystem)
        {
            getLocalisationManager().registerDestination();
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "registerDestination");
    }
328054
public void createLinks(ServiceReference<S> declarationBinderRef) {
        for (D declaration : linkerManagement.getMatchedDeclaration()) {
            if (linkerManagement.canBeLinked(declaration, declarationBinderRef)) {
                linkerManagement.link(declaration, declarationBinderRef);
            }
        }
    }
946015
public void setDestination(DestinationHandler originalDestination)
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc, "setDestination", originalDestination);

        _originalDestination = originalDestination;

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "setDestination");
    }
1347431
@Override
    public void registerDestination(boolean hasLocal,
                                    boolean isDeleted)
    {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.entry(tc,
                        "registerDestination",
                        new Object[] {
                                      Boolean.valueOf(hasLocal),
                                      Boolean.valueOf(isDeleted),
                                      this });
        // Dont register temporary destinations or system destinations.
        if (!_baseDestinationHandler.isTemporary() && !_baseDestinationHandler.isSystem())
        {
            if (_pToPLocalMsgsItemStream != null && !(_pToPLocalMsgsItemStream instanceof MQLinkMessageItemStream))
                _localisationManager.registerDestination();
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            SibTr.exit(tc, "registerDestination");
    }
110670
@Override
	public Destination getDestination(PeerDescriptor peer, DestinationReferenceDescriptor destinationReference, Session session) throws JMSException
	{
		try
		{
			Context jndiContext = JNDITools.getContext(peer.getJdniInitialContextFactoryName(),
													   peer.getProviderURL(),
													   null);
			
		    return (Destination)jndiContext.lookup(destinationReference.getDestinationName());
		}
		catch (NamingException e)
		{
			throw new JMSException("Cannot resolve destination in JNDI : "+e.toString());
		}
	}
763021
public void setDestinationEncryptionContext(java.util.Map<String, String> destinationEncryptionContext) {
        this.destinationEncryptionContext = destinationEncryptionContext == null ? null : new com.ibm.cloud.objectstorage.internal.SdkInternalMap<String, String>(
                destinationEncryptionContext);
    }
155721
private void checkQueuePointContainsLocalME(Set<String> queuePointLocalizingMEs,
                                                SIBUuid8 messagingEngineUuid,
                                                DestinationDefinition destinationDefinition,
                                                LocalizationDefinition destinationLocalizationDefinition)
    {
        if (isQueue(destinationDefinition.getDestinationType())
            && (destinationLocalizationDefinition != null))
        {
            //Queue point locality set must contain local ME
            if ((queuePointLocalizingMEs == null) ||
                (!queuePointLocalizingMEs.contains(messagingEngineUuid.toString())))
            {
                throw new SIErrorException(
                                nls.getFormattedMessage(
                                                        "INTERNAL_CONFIGURATION_ERROR_CWSIP0006",
                                                        new Object[] { "DestinationManager", "1:4845:1.508.1.7", destinationDefinition.getName() },
                                                        null));
            }
        }
    }