/*
* Copyright (C) 2009 eXo Platform SAS.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.exoplatform.container;
import junit.framework.TestCase;
import org.exoplatform.container.RootContainer.PortalContainerInitTaskContext;
import org.exoplatform.container.RootContainer.PortalContainerInitTaskContextComparator;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.EventListener;
import java.util.Map;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import javax.servlet.ServletRegistration.Dynamic;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
import javax.servlet.descriptor.JspConfigDescriptor;
/**
* Created by The eXo Platform SAS
* Author : Nicolas Filotto
* nicolas.filotto@exoplatform.com
* 24 sept. 2009
*/
public class TestPortalContainerInitTaskContextComparator extends TestCase
{
public void testCompare()
{
PortalContainerInitTaskContextComparator comparator = new PortalContainerInitTaskContextComparator(Arrays.asList("d", "c"));
PortalContainerInitTaskContext[] contexts =
{createPortalContainerInitTaskContext("b"), createPortalContainerInitTaskContext("d"), createPortalContainerInitTaskContext("a"),
createPortalContainerInitTaskContext("c")};
Arrays.sort(contexts, comparator);
assertEquals("d", contexts[0].getServletContextName());
assertEquals("c", contexts[1].getServletContextName());
assertEquals("a", contexts[2].getServletContextName());
assertEquals("b", contexts[3].getServletContextName());
}
private PortalContainerInitTaskContext createPortalContainerInitTaskContext(String name)
{
return new PortalContainerInitTaskContext(new MockServletContext(name), null);
}
private static class MockServletContext implements ServletContext
{
private final String name;
private MockServletContext(String name)
{
this.name = name;
}
public Object getAttribute(String name)
{
return null;
}
public Enumeration<String> getAttributeNames()
{
return null;
}
public ServletContext getContext(String uripath)
{
return null;
}
public String getInitParameter(String name)
{
return null;
}
public Enumeration<String> getInitParameterNames()
{
return null;
}
public int getMajorVersion()
{
return 0;
}
public String getMimeType(String file)
{
return null;
}
public int getMinorVersion()
{
return 0;
}
public RequestDispatcher getNamedDispatcher(String name)
{
return null;
}
public String getRealPath(String path)
{
return null;
}
public RequestDispatcher getRequestDispatcher(String path)
{
return null;
}
public URL getResource(String path) throws MalformedURLException
{
return null;
}
public InputStream getResourceAsStream(String path)
{
return null;
}
public Set<String> getResourcePaths(String path)
{
return null;
}
public String getServerInfo()
{
return null;
}
public Servlet getServlet(String name) throws ServletException
{
return null;
}
public String getServletContextName()
{
return name;
}
public Enumeration<String> getServletNames()
{
return null;
}
public Enumeration<Servlet> getServlets()
{
return null;
}
public void log(String msg)
{
}
public void log(Exception exception, String msg)
{
}
public void log(String message, Throwable throwable)
{
}
public void removeAttribute(String name)
{
}
public void setAttribute(String name, Object object)
{
}
public String getContextPath()
{
return null;
}
public int getEffectiveMajorVersion()
{
return 0;
}
public int getEffectiveMinorVersion()
{
return 0;
}
public boolean setInitParameter(String name, String value)
{
return false;
}
public Dynamic addServlet(String servletName, String className)
{
return null;
}
public Dynamic addServlet(String servletName, Servlet servlet)
{
return null;
}
public Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass)
{
return null;
}
public <T extends Servlet> T createServlet(Class<T> clazz) throws ServletException
{
return null;
}
public ServletRegistration getServletRegistration(String servletName)
{
return null;
}
public Map<String, ? extends ServletRegistration> getServletRegistrations()
{
return null;
}
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, String className)
{
return null;
}
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Filter filter)
{
return null;
}
public javax.servlet.FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass)
{
return null;
}
public <T extends Filter> T createFilter(Class<T> clazz) throws ServletException
{
return null;
}
public FilterRegistration getFilterRegistration(String filterName)
{
return null;
}
public Map<String, ? extends FilterRegistration> getFilterRegistrations()
{
return null;
}
public SessionCookieConfig getSessionCookieConfig()
{
return null;
}
public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes)
{
}
public Set<SessionTrackingMode> getDefaultSessionTrackingModes()
{
return null;
}
public Set<SessionTrackingMode> getEffectiveSessionTrackingModes()
{
return null;
}
public void addListener(String className)
{
}
public <T extends EventListener> void addListener(T t)
{
}
public void addListener(Class<? extends EventListener> listenerClass)
{
}
public <T extends EventListener> T createListener(Class<T> clazz) throws ServletException
{
return null;
}
public JspConfigDescriptor getJspConfigDescriptor()
{
return null;
}
public ClassLoader getClassLoader()
{
return null;
}
public void declareRoles(String... roleNames)
{
}
}
}