Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-2569 Components: introduce dependency injection
  3. MAGNOLIA-3538

Restore or drop support for module properties (name, moduleDefinition, moduleNode, configNode)

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 4.5
    • None
    • core, modulemechanism
    • None

      With MAGNOLIA-2569, I (temporarily) dropped support for the above properties.

      This was essentially implement using the snippet below, and calls to info.magnolia.module.ModuleManagerImpl#populateModuleInstance 1) before starting the module up, and 2) in the EventListener attached to this module by ModuleManagerImpl

      If we need to revive support for this, we should consider using a specific interface (or several), and/or annotations.

                      // Prepare properties for module instances; if the bean has "moduleDefinition",
                      // "name", "moduleNode" or "configNode" properties, they will be populated accordingly.
                      final Map<String, Object> moduleProperties = new HashMap<String, Object>();
                      moduleProperties.put("moduleDefinition", moduleDefinition);
                      moduleProperties.put("name", moduleName);
      
                      if (modulesParentNode.hasContent(moduleName)) {
                          final Content moduleNode = new SystemContentWrapper(modulesParentNode.getChildByName(moduleName));
                          moduleNodes.add(moduleNode);
                          moduleProperties.put("moduleNode", moduleNode);
                          if (moduleNode.hasContent("config")) {
                              final Content configNode = new SystemContentWrapper(moduleNode.getContent("config"));
                              moduleProperties.put("configNode", configNode);
                          }
                      }
      

            gjoseph Magnolia International
            gjoseph Magnolia International
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: