Project

General

Profile

Revision 92b19eed

ID92b19eed752add96e8e62199d81172459a890ebd
Parent 2b77b61b
Child 8d255750

Added by Francois POIROTTE about 7 years ago

Génération de HLS par machine

Crée automatiquement les HLS "services:$host" qui dépend de tous les
services de $host et "machine:$host" qui dépend de l'état de $host
et de ses services.

Pour le moment, les HLS construits ont des dépendances +/- vides car il
manque encore la reconnaissance des tests pour déterminer le nom des
services associés (cf. getNagiosNames() dans VigiloTest).

Change-Id: I558f7d96997c5c520f26daef1157c8de0a790f96
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/2399
Tested-by: Build system <>
Reviewed-by: Francois POIROTTE <>

View differences:

src/plugins/vigilo/inc/abstractmonitoreditem.class.php
33 33
        return $this->item->getName();
34 34
    }
35 35

  
36
    protected function filterTests($value)
37
    {
38
        return is_object($value) && ($value instanceof VigiloTest);
39
    }
40

  
41
    public function getTests()
42
    {
43
        return new CallbackFilterIterator(
44
            new ArrayIterator($this->children),
45
            array($this, 'filterTests')
46
        );
47
    }
48

  
36 49
    protected function selectTemplates()
37 50
    {
38 51
        $template = $this->item->fields['vigilo_template'];
......
164 177

  
165 178
    public function __toString()
166 179
    {
167
        $outXML = new DOMDocument();
168
        $outXML->preserveWhiteSpace = false;
169
        $outXML->formatOutput       = true;
170
        $outXML->loadXML(
171
            self::sprintf(
172
                '<?xml version="1.0"?>' .
173
                '<host name="%s" address="%s" ventilation="%s">%s</host>',
174
                $this->item->getName(),
175
                $this->selectAddress(),
176
                "Servers",
177
                $this->children
178
            )
180
        return self::sprintf(
181
            '<?xml version="1.0"?>' .
182
            '<host name="%s" address="%s" ventilation="%s">%s</host>',
183
            $this->item->getName(),
184
            $this->selectAddress(),
185
            "Servers",
186
            $this->children
179 187
        );
180
        return $outXML->saveXML();
181 188
    }
182 189
}

Also available in: Unified diff