AppserverIo\Appserver\Core\Api\Node\ContainerNode::merge PHP Method

merge() public method

This method merges the passed container node into this one.
public merge ( AppserverIo\Appserver\Core\Api\Node\ContainerNodeInterface $containerNode ) : void
$containerNode AppserverIo\Appserver\Core\Api\Node\ContainerNodeInterface The container node to merge
return void
    public function merge(ContainerNodeInterface $containerNode)
    {
        // iterate over this container server nodes
        /** @var \AppserverIo\Appserver\Core\Api\Node\ServerNodeInterface $serverNode */
        foreach ($this->getServers() as $serverNode) {
            // try to match with the server names of the passed container
            /** @var \AppserverIo\Appserver\Core\Api\Node\ServerNodeInterface $serverNodeToMerge */
            foreach ($containerNode->getServers() as $serverNodeToMerge) {
                if (fnmatch($serverNodeToMerge->getName(), $serverNode->getName())) {
                    $serverNode->merge($serverNodeToMerge);
                } else {
                    $this->attachServer($serverNode);
                }
            }
        }
    }