8 Replies Latest reply: Mar 5, 2012 7:54 AM by Antoine Herzog RSS

disablePortalContainer ? what is it used for ?

Antoine Herzog Master

Hello,

 

in the code of the PortalContainerConfig, there is a method to disable a Portal Container :

 

/**
    * Disables a portal container if it has not yet been disabled.
    * @param name the name of the portal container to disable
    */
   public synchronized void disablePortalContainer(String name)
....

 

What does "disable a portal container" mean, and what is it used for ?

 

I have look in the code, and in the logs, and the only place where it is really used, is in the RootContainer class :

 

   /**
    * Register a new portal container. It will try to detect if {@link PortalContainerDefinition} has
    *  been defined, if so it will create the portal container later otherwise we assume that we 
    * expect the old behavior, thus the portal container will be initialized synchronously 
    * @param context the context of the portal container
    */
   public void registerPortalContainer(ServletContext context)
   {
      SecurityManager security = System.getSecurityManager();
      if (security != null)
         security.checkPermission(ContainerPermissions.MANAGE_CONTAINER_PERMISSION);     
      
      PortalContainerConfig config = getPortalContainerConfig();
      if (config.hasDefinition())
      {
         // The new behavior has been detected thus, the creation will be done at the end asynchronously
         if (config.isPortalContainerName(context.getServletContextName()))
         {
            // The portal context has been registered has a portal container
            portalContexts.add(new WebAppInitContext(context));
         }
         else
         {
            if (PropertyManager.isDevelopping())
            {
               log.info("We assume that the ServletContext '" + context.getServletContextName()
                  + "' is not a portal since no portal container definition with the same name has been"
                  + " registered to the component PortalContainerConfig. The related portal container"
                  + " will be declared as disabled.");
            }
            config.disablePortalContainer(context.getServletContextName());
         }
         // We assume that a ServletContext of a portal container owns configuration files
         final PortalContainerPreInitTask task = new PortalContainerPreInitTask()
         {

            public void execute(ServletContext context, PortalContainer portalContainer)
            {
               portalContainer.registerContext(context);
            }
         };
         PortalContainer.addInitTask(context, task);
      }
      else
      {
         // Ensure that the portal container has been registered
         config.registerPortalContainerName(context.getServletContextName());
         // The old behavior has been detected thus, the creation will be done synchronously
         createPortalContainer(context);
      }
   }

 

Does anyone have more explaination of this disabling a portal container ?

 

Is there anything in the user interface of the portal, to create a portal container or to delete / remove one ?

 

Any explaination or link to some documentation are welcome !

 

My question is about global "how the portal works", but also for this performance question :

 

Thanks,

 

Antoine

JBoss Portal and GateIn (JSR-286), JSF, Richfaces, J2EE, Drools, BRMS.

http://www.sysemo.com/Sysemo-expertise-portails-jboss-portal.php