ILIAS  trunk Revision v11.0_alpha-1851-ga8564da6fed
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilEventHandlingBuildEventInfoObjective Class Reference
+ Inheritance diagram for ilEventHandlingBuildEventInfoObjective:
+ Collaboration diagram for ilEventHandlingBuildEventInfoObjective:

Public Member Functions

 getArtifactName ()
 
 getPreconditions (Setup\Environment $environment)
 
 achieve (Setup\Environment $environment)
 
 build ()
 

Private Attributes

ilComponentRepository $component_repository = null
 

Detailed Description

Member Function Documentation

◆ achieve()

ilEventHandlingBuildEventInfoObjective::achieve ( Setup\Environment  $environment)

Definition at line 38 of file class.ilEventHandlingBuildEventInfoObjective.php.

References ILIAS\Setup\Environment\getResource().

38  : Setup\Environment
39  {
40  $this->component_repository = $environment->getResource(Setup\Environment::RESOURCE_COMPONENT_REPOSITORY);
41 
42  return parent::achieve($environment);
43  }
+ Here is the call graph for this function:

◆ build()

ilEventHandlingBuildEventInfoObjective::build ( )

Definition at line 45 of file class.ilEventHandlingBuildEventInfoObjective.php.

References $component_repository, XapiProxy\$plugin, ILIAS\GlobalScreen\Provider\__construct(), and ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\from().

45  : Setup\Artifact
46  {
47  $processor = new \ilEventHandlingDefinitionProcessor();
48 
49  // Plugins behave slightly differently from core components: they do not always have a plugin.xml and the
50  // `ilComponentDefinitionReader` does not read them at all. Therefore, we overwrite the reader at this point
51  // and supplement it with the information from the existing plugins.
52 
53  $plugin_and_components_reader = new class ($this->component_repository, $processor) extends
55  public function __construct(
57  ilComponentDefinitionProcessor ...$processor,
58  ) {
59  parent::__construct(...$processor);
60  }
61 
62  protected function getComponents(): \Iterator
63  {
64  yield from parent::getComponents();
65 
66  foreach ($this->component_repository->getPlugins() as $plugin) {
67  $xml_plugin_path = $plugin->getPath() . '/plugin.xml';
68  if (!file_exists($xml_plugin_path)) {
69  continue;
70  }
71  yield [
72  'Plugins', // Plugins are generally handled in ilAppEventHandler with the prefix "Plugins".
73  $plugin->getName(),
74  $xml_plugin_path,
75  ];
76  }
77  }
78  };
79 
80  $plugin_and_components_reader->purge();
81  $plugin_and_components_reader->readComponentDefinitions();
82 
83  return new Setup\Artifact\ArrayArtifact($processor->getData());
84  }
Readable part of repository interface to ilComponentDataDB.
An ilComponentDefinitionProcessor processes some attributes from a component.xml (i.e.
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

◆ getArtifactName()

ilEventHandlingBuildEventInfoObjective::getArtifactName ( )

Definition at line 23 of file class.ilEventHandlingBuildEventInfoObjective.php.

23  : string
24  {
25  return "event_handling_data";
26  }

◆ getPreconditions()

ilEventHandlingBuildEventInfoObjective::getPreconditions ( Setup\Environment  $environment)

Field Documentation

◆ $component_repository

ilComponentRepository ilEventHandlingBuildEventInfoObjective::$component_repository = null
private

Definition at line 29 of file class.ilEventHandlingBuildEventInfoObjective.php.

Referenced by build().


The documentation for this class was generated from the following file: