Obtention d'un contrôleur pour travailler avec des ressources

Pour modifier, créer ou supprimer des ressources de portail à l'aide de la SPI du contrôleur, vous devez d'abord créer un contrôleur.

Pourquoi et quand exécuter cette tâche

Pour ce faire, utilisez une recherche basée JNDI pour l'interface "home" correcte, à savoir l'interface en lecture seule correspondante.
Remarque : La recherche par le fournisseur d'un contrôleur home est possible depuis le code et les portlets au niveau du servlet.
Les contrôleurs suivants sont disponibles via JNDI :
ContentModelController
Pour obtenir un contrôleur ContentModelController, effectuez une recherche de la chaîne ContentModelControllerHome.CONTENT_MODEL_CONTROLLER_JNDI_NAME.
PortletModelController
Pour obtenir un contrôleur PortletModelController, effectuez une recherche de la chaîne PortletModelControllerHome.PORTLET_MODEL_CONTROLLER_JNDI_NAME.

Le contrôleur LayoutModelController ne peut pas être obtenu via une recherche JNDI. Vous l'obtenez via son contrôleur ContentModelController associé.

Exemple - Obtention d'un contrôleur de modèle de contenu :
ContentModelController result = null;
final Context ctx = new InitialContext();
final ContentModelControllerHome home = (ContentModelControllerHome) 
     ctx.lookup(ContentModelControllerHome.CONTENT_MODEL_CONTROLLER_JNDI_NAME);
if (home != null) {
     result = home.getContentModelControllerProvider().createContentModelController(aContentModel);
}
Remarque : Pour obtenir un élément ContentModelController, vous devez transmettre un modèle de contenu existant à la méthode createContentModelController de ContentModelControllerProvider.
Exemple 2 - Obtention d'un contrôleur de modèle de présentation pour une page spécifique :
// locate the page for which you want to create a LayoutModelController
final Locator locator = cmController.getLocator();
final ContentPage page = (ContentPage) locator.findByUniqueName("MyPage");

// create a LayoutModelController
final LayoutModelController lmController = cmController.getLayoutModelController(page);