1 package org.exoplatform.jcr.launcher; 2 3 import javax.servlet.ServletContext ; 4 import javax.servlet.ServletContextEvent ; 5 import javax.servlet.ServletContextListener ; 6 7 import org.exoplatform.container.PortalContainer; 8 import org.exoplatform.container.RootContainer; 9 import org.exoplatform.services.jcr.RepositoryService; 10 import org.exoplatform.services.jcr.core.ManageableRepository; 11 12 public class JcrServletListener implements ServletContextListener { 13 14 public void contextInitialized(ServletContextEvent event) { 15 ServletContext servletContext = event.getServletContext(); 16 RootContainer rootContainer = RootContainer.getInstance(); 17 PortalContainer pcontainer = rootContainer 18 .getPortalContainer(servletContext.getServletContextName()); 19 if (pcontainer == null) { 20 pcontainer = rootContainer.createPortalContainer(servletContext); 21 } 22 PortalContainer servicesManager = PortalContainer.getInstance(); 23 24 RepositoryService repositoryService = (RepositoryService) servicesManager 25 .getComponentInstanceOfType(RepositoryService.class); 26 27 ManageableRepository repository = null; 28 try { 29 repository = (ManageableRepository) repositoryService.getRepository(); 30 if (!repository.isWorkspaceInitialized("ws")) 31 repository.initWorkspace("ws", "nt:unstructured"); 32 } catch (Exception e) { 33 e.printStackTrace(); 34 } 35 } 36 37 public void contextDestroyed(ServletContextEvent event) { 38 RootContainer rootContainer = RootContainer.getInstance(); 39 PortalContainer pcontainer = rootContainer.getPortalContainer(event 40 .getServletContext().getServletContextName()); 41 if (pcontainer.isStarted()) 42 pcontainer.stop(); 43 rootContainer.removePortalContainer(event.getServletContext()); 44 } 45 } | Popular Tags |