From 0c51b17e0f3ecb63273600d3fbc84d90a5a280bc Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 12 Oct 2016 11:33:40 +0000 Subject: [PATCH] Merged 5.2.N-SERVLET-3.0 (5.2.1) to 5.2.N (5.2.1) 130708: REPO-843 / REPO-1246: Upgrade to Servlet 3.0 (part I), 130714: REPO-843 / REPO-1246: Upgrade to Servlet 3.0 (part 1b) - fix web.xml (web-app), 130727: REPO-843 / REPO-1246: Upgrade to Servlet 3.0 (part 1b) - update other web.xml's (other than web-client project), 130844: REPO-843 / REPO-1251: Upgrade to Servlet API 3.0.x (part 2) - update to Spring WebScripts 6.9 (ACE-5584) - update to servlet-api 3.0.1, 130847: REPO-843 / REPO-1251: Upgrade to Servlet API 3.0.x (part 2) - update to Spring WebScripts 6.9 (ACE-5584) - follow-on to commit the correct pom.xml (ie. parent rather than overlay), 130852: REPO-843 / REPO-1251: Upgrade to Servlet API 3.0.x (part 2) - update to Spring WebScripts 6.9 (ACE-5584) - follow-on git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@131370 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 2 +- .../opencmis/CMISHttpServletRequest.java | 136 ++++++++--- .../opencmis/CMISServletDispatcher.java | 214 ++++++++++++++++-- 3 files changed, 299 insertions(+), 53 deletions(-) diff --git a/pom.xml b/pom.xml index b284f6e962..fad87381c9 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ javax.servlet - servlet-api + javax.servlet-api provided diff --git a/source/java/org/alfresco/opencmis/CMISHttpServletRequest.java b/source/java/org/alfresco/opencmis/CMISHttpServletRequest.java index f91f78703c..e0774ec758 100644 --- a/source/java/org/alfresco/opencmis/CMISHttpServletRequest.java +++ b/source/java/org/alfresco/opencmis/CMISHttpServletRequest.java @@ -1,28 +1,28 @@ -/* - * #%L - * Alfresco Remote API - * %% - * Copyright (C) 2005 - 2016 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * Alfresco 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 3 of the License, or - * (at your option) any later version. - * - * Alfresco 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 Alfresco. If not, see . - * #L% - */ +/* + * #%L + * Alfresco Remote API + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco 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 3 of the License, or + * (at your option) any later version. + * + * Alfresco 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 Alfresco. If not, see . + * #L% + */ package org.alfresco.opencmis; import java.io.BufferedReader; @@ -30,17 +30,26 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.util.ArrayList; +import java.util.Collection; import java.util.Enumeration; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; +import javax.servlet.AsyncContext; +import javax.servlet.DispatcherType; import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; import javax.servlet.ServletInputStream; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.servlet.http.Part; import org.alfresco.opencmis.CMISDispatcherRegistry.Binding; import org.alfresco.repo.security.authentication.AuthenticationUtil; @@ -222,7 +231,7 @@ public class CMISHttpServletRequest implements HttpServletRequest { return httpReq.getLocalPort(); } - + @Override public Locale getLocale() { @@ -550,7 +559,7 @@ public class CMISHttpServletRequest implements HttpServletRequest { return httpReq.isRequestedSessionIdFromURL(); } - + @Override public boolean isRequestedSessionIdValid() { @@ -562,4 +571,77 @@ public class CMISHttpServletRequest implements HttpServletRequest { return httpReq.isUserInRole(arg0); } + + @Override + public boolean authenticate(HttpServletResponse response) throws IOException, ServletException + { + return httpReq.authenticate(response); + } + + @Override + public void login(String username, String password) throws ServletException + { + httpReq.login(username, password); + } + + @Override + public void logout() throws ServletException + { + httpReq.logout(); + } + + @Override + public Collection getParts() throws IOException, ServletException + { + return httpReq.getParts(); + } + + @Override + public Part getPart(String name) throws IOException, ServletException + { + return httpReq.getPart(name); + } + + @Override + public ServletContext getServletContext() + { + return httpReq.getServletContext(); + } + + @Override + public AsyncContext startAsync() throws IllegalStateException + { + return httpReq.startAsync(); + } + + @Override + public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException + { + return httpReq.startAsync(servletRequest, servletResponse); + } + + @Override + public boolean isAsyncStarted() + { + return httpReq.isAsyncStarted(); + } + + @Override + public boolean isAsyncSupported() + { + return httpReq.isAsyncSupported(); + } + + @Override + public AsyncContext getAsyncContext() + { + return httpReq.getAsyncContext(); + } + + @Override + public DispatcherType getDispatcherType() + { + return httpReq.getDispatcherType(); + } + } \ No newline at end of file diff --git a/source/java/org/alfresco/opencmis/CMISServletDispatcher.java b/source/java/org/alfresco/opencmis/CMISServletDispatcher.java index cfc68f2181..4844ad86d9 100644 --- a/source/java/org/alfresco/opencmis/CMISServletDispatcher.java +++ b/source/java/org/alfresco/opencmis/CMISServletDispatcher.java @@ -1,28 +1,28 @@ -/* - * #%L - * Alfresco Remote API - * %% - * Copyright (C) 2005 - 2016 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * Alfresco 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 3 of the License, or - * (at your option) any later version. - * - * Alfresco 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 Alfresco. If not, see . - * #L% - */ +/* + * #%L + * Alfresco Remote API + * %% + * Copyright (C) 2005 - 2016 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * Alfresco 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 3 of the License, or + * (at your option) any later version. + * + * Alfresco 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 Alfresco. If not, see . + * #L% + */ package org.alfresco.opencmis; import java.io.IOException; @@ -31,15 +31,23 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; +import java.util.EventListener; import java.util.Iterator; import java.util.List; +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.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; +import javax.servlet.SessionCookieConfig; +import javax.servlet.SessionTrackingMode; +import javax.servlet.descriptor.JspConfigDescriptor; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletResponse; @@ -298,6 +306,12 @@ public abstract class CMISServletDispatcher implements CMISDispatcher return null; } + @Override + public boolean setInitParameter(String name, String value) + { + return false; + } + @Override public int getMajorVersion() { @@ -316,6 +330,18 @@ public abstract class CMISServletDispatcher implements CMISDispatcher return 0; } + @Override + public int getEffectiveMajorVersion() + { + return 0; + } + + @Override + public int getEffectiveMinorVersion() + { + return 0; + } + @Override public RequestDispatcher getNamedDispatcher(String arg0) { @@ -370,6 +396,144 @@ public abstract class CMISServletDispatcher implements CMISDispatcher return null; } + @Override + public ServletRegistration.Dynamic addServlet(String servletName, String className) + { + return null; + } + + @Override + public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) + { + return null; + } + + @Override + public ServletRegistration.Dynamic addServlet(String servletName, Class servletClass) + { + return null; + } + + @Override + public T createServlet(Class clazz) throws ServletException + { + return null; + } + + @Override + public ServletRegistration getServletRegistration(String servletName) + { + return null; + } + + @Override + public Map getServletRegistrations() + { + return null; + } + + @Override + public FilterRegistration.Dynamic addFilter(String filterName, String className) + { + return null; + } + + @Override + public FilterRegistration.Dynamic addFilter(String filterName, Filter filter) + { + return null; + } + + @Override + public FilterRegistration.Dynamic addFilter(String filterName, Class filterClass) + { + return null; + } + + @Override + public T createFilter(Class clazz) throws ServletException + { + return null; + } + + @Override + public FilterRegistration getFilterRegistration(String filterName) + { + return null; + } + + @Override + public Map getFilterRegistrations() + { + return null; + } + + @Override + public SessionCookieConfig getSessionCookieConfig() + { + return null; + } + + @Override + public void setSessionTrackingModes(Set sessionTrackingModes) + { + + } + + @Override + public Set getDefaultSessionTrackingModes() + { + return null; + } + + @Override + public Set getEffectiveSessionTrackingModes() + { + return null; + } + + @Override + public void addListener(String className) + { + + } + + @Override + public void addListener(T t) + { + + } + + @Override + public void addListener(Class listenerClass) + { + + } + + @Override + public T createListener(Class clazz) throws ServletException + { + return null; + } + + @Override + public JspConfigDescriptor getJspConfigDescriptor() + { + return null; + } + + @Override + public ClassLoader getClassLoader() + { + return null; + } + + @Override + public void declareRoles(String... roleNames) + { + + } + @Override public Enumeration getServletNames() {