Author: Tim Wagner (tw@appserver.io)
Inheritance: extends AppserverIo\Appserver\Core\AbstractEpbManager, implements AppserverIo\Psr\Servlet\ServletContextInterface, implements AppserverIo\Appserver\Application\Interfaces\ManagerSettingsAwareInterface
 /**
  * Test the getNamingDirectory() method.
  *
  * @return void
  */
 public function testGetNamingDirectory()
 {
     // mock the application
     $application = $this->getMockBuilder('AppserverIo\\Psr\\Application\\ApplicationInterface')->setMethods(get_class_methods('AppserverIo\\Psr\\Application\\ApplicationInterface'))->getMock();
     // create a real manager instance -> this is a \Stackable
     $servletManager = new ServletManager();
     $servletManager->injectApplication($application);
     // initialize the controller with mocked methods
     $controller = $this->getMock('AppserverIo\\Routlt\\ControllerServlet', array('getServletContext'));
     // mock the methods
     $controller->expects($this->once())->method('getServletContext')->will($this->returnValue($servletManager));
     // check the session manager instance
     $this->assertEquals($application, $controller->getNamingDirectory());
 }
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // initialize the stackable storage
     $data = new StackableStorage();
     $servlets = new StackableStorage();
     $errorPages = new StackableStorage();
     $initParameters = new StackableStorage();
     $servletMappings = new GenericStackable();
     $securedUrlConfigs = new StackableStorage();
     $sessionParameters = new StackableStorage();
     // initialize the default settings for the stateful session beans
     $servletManagerSettings = new StandardManagerSettings();
     $servletManagerSettings->mergeWithParams($managerConfiguration->getParamsAsArray());
     // initialize the servlet locator
     $servletLocator = new ServletLocator();
     // initialize the servlet manager
     $servletManager = new ServletManager();
     $servletManager->injectData($data);
     $servletManager->injectServlets($servlets);
     $servletManager->injectErrorPages($errorPages);
     $servletManager->injectApplication($application);
     $servletManager->injectInitParameters($initParameters);
     $servletManager->injectResourceLocator($servletLocator);
     $servletManager->injectServletMappings($servletMappings);
     $servletManager->injectSecuredUrlConfigs($securedUrlConfigs);
     $servletManager->injectSessionParameters($sessionParameters);
     $servletManager->injectManagerSettings($servletManagerSettings);
     $servletManager->injectDirectories($managerConfiguration->getDirectories());
     // create the naming context and add it the manager
     $contextFactory = $managerConfiguration->getContextFactory();
     $contextFactory::visit($servletManager);
     // attach the instance
     $application->addManager($servletManager, $managerConfiguration);
 }
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // create the initial context instance
     $initialContext = new NamingContext();
     $initialContext->injectApplication($application);
     // initialize the stackable storage
     $data = new StackableStorage();
     $servlets = new StackableStorage();
     $initParameters = new StackableStorage();
     $servletMappings = new GenericStackable();
     $securedUrlConfigs = new StackableStorage();
     $sessionParameters = new StackableStorage();
     // initialize the servlet locator
     $servletLocator = new ServletLocator();
     // initialize the servlet manager
     $servletManager = new ServletManager();
     $servletManager->injectData($data);
     $servletManager->injectServlets($servlets);
     $servletManager->injectApplication($application);
     $servletManager->injectInitialContext($initialContext);
     $servletManager->injectInitParameters($initParameters);
     $servletManager->injectResourceLocator($servletLocator);
     $servletManager->injectServletMappings($servletMappings);
     $servletManager->injectSecuredUrlConfigs($securedUrlConfigs);
     $servletManager->injectSessionParameters($sessionParameters);
     $servletManager->injectDirectories($managerConfiguration->getDirectories());
     // attach the instance
     $application->addManager($servletManager, $managerConfiguration);
 }