You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by wo...@apache.org on 2014/12/16 06:33:38 UTC
svn commit: r1645845 - in /portals/applications/webcontent/trunk:
portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/
reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/
reverse-proxy/src/main/ja...
Author: woonsan
Date: Tue Dec 16 05:33:37 2014
New Revision: 1645845
URL: http://svn.apache.org/r1645845
Log:
APA-67: javadocs in reverse-proxy apis
Added:
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyContext.java
- copied, changed from r1645645, portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyContext.java
Removed:
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyContext.java
Modified:
portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/DefaultPortletProxyTagNodeVisitor.java
portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/GenericReverseProxyPortlet.java
portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/PortletAnyProxyMapping.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/HttpClientContextBuilder.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMapping.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMappingRegistry.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/RequestContext.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyException.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyService.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeaderToHttpRequestCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeadersToResponseCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/CleanupCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ExecuteHttpClientCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleNotModifiedCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleRedirectionCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpClientCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpRequestCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitializationCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveContentRewriterCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveLocalPathCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveProxyMappingCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveRemoteURICommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/SerializeHttpEntityContentCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/filter/GenericReverseProxyFilter.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/AbstractProxyCommand.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/DefaultReverseProxyService.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyProcessingChain.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriter.java
portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/servlet/GenericReverseProxyServlet.java
portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/ProxyCommandChainTest.java
portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommandTest.java
portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriterTest.java
Modified: portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/DefaultPortletProxyTagNodeVisitor.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/DefaultPortletProxyTagNodeVisitor.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/DefaultPortletProxyTagNodeVisitor.java (original)
+++ portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/DefaultPortletProxyTagNodeVisitor.java Tue Dec 16 05:33:37 2014
@@ -26,7 +26,7 @@ import javax.portlet.PortletURL;
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.utils.URIUtils;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.rewriter.htmlcleaner.AbstractProxyTagNodeVisitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/GenericReverseProxyPortlet.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/GenericReverseProxyPortlet.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/GenericReverseProxyPortlet.java (original)
+++ portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/GenericReverseProxyPortlet.java Tue Dec 16 05:33:37 2014
@@ -29,9 +29,9 @@ import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import org.apache.commons.lang.StringUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyService;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
/**
Modified: portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/PortletAnyProxyMapping.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/PortletAnyProxyMapping.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/PortletAnyProxyMapping.java (original)
+++ portals/applications/webcontent/trunk/portlets/src/main/java/org/apache/portals/applications/webcontent2/portlet/proxy/PortletAnyProxyMapping.java Tue Dec 16 05:33:37 2014
@@ -22,8 +22,8 @@ import javax.portlet.PortletConfig;
import javax.portlet.PortletRequest;
import org.apache.commons.lang.StringUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyMapping;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class PortletAnyProxyMapping extends AbstractProxyMapping
{
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/HttpClientContextBuilder.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/HttpClientContextBuilder.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/HttpClientContextBuilder.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/HttpClientContextBuilder.java Tue Dec 16 05:33:37 2014
@@ -18,6 +18,9 @@ package org.apache.portals.applications.
import org.apache.http.client.protocol.HttpClientContext;
+/**
+ * Builder for {@link HttpClientContext} instances.
+ */
public interface HttpClientContextBuilder
{
public HttpClientContext build();
Copied: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyContext.java (from r1645645, portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyContext.java)
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyContext.java?p2=portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyContext.java&p1=portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyContext.java&r1=1645645&r2=1645845&rev=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyContext.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyContext.java Tue Dec 16 05:33:37 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.portals.applications.webcontent2.proxy.impl;
+package org.apache.portals.applications.webcontent2.proxy;
import java.net.URI;
import java.util.LinkedList;
@@ -26,158 +26,320 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.CookieStore;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
-import org.apache.portals.applications.webcontent2.proxy.ProxyMappingRegistry;
-import org.apache.portals.applications.webcontent2.proxy.RequestContext;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewriter;
+/**
+ * Base {@link org.apache.commons.chain.Context} implementation to be used in
+ * a reverse proxy service execution.
+ * @see {@link org.apache.commons.chain.Context}
+ */
public class ProxyContext extends ContextBase
{
private static final long serialVersionUID = 1L;
+ /**
+ * Static thread local to store/retrieve the current <code>ProxyContext</code> instance.
+ * In some cases, a component, during the reverse proxy processing, might not have an access
+ * to the <code>ProxyContext</code> instance. In that case, that kind of component might
+ * want to invoke {@link #getCurrentProxyContext()} to retrieve the current <code>ProxyContext</code>
+ * instance.
+ */
private static ThreadLocal<ProxyContext> tlProxyContext = new ThreadLocal<ProxyContext>();
+ /**
+ * Returns the current <code>ProxyContext</code> instance in the static thread local variable.
+ * In some cases, a component, during the reverse proxy processing, might not have an access
+ * to the <code>ProxyContext</code> instance. In that case, that kind of component might
+ * want to invoke this method to retrieve the current <code>ProxyContext</code> instance.
+ * @return
+ */
public static ProxyContext getCurrentProxyContext()
{
return tlProxyContext.get();
}
+ /**
+ * Sets the current <code>ProxyContext</code> instance in the static thread local variable.
+ * @param proxyContext
+ */
public static void setCurrentProxyContext(ProxyContext proxyContext)
{
tlProxyContext.set(proxyContext);
}
+ /**
+ * Removes the current <code>ProxyContext</code> instance from the static thread local variable.
+ */
public static void removeCurrentProxyContext()
{
tlProxyContext.remove();
}
+ /**
+ * HTTP request related context information.
+ * For example, in a normal servlet runtime, it may contain servlet request related attributes,
+ * whereas it may contain portlet related attribute in a portlet runtime.
+ */
private final RequestContext requestContext;
+
+ /**
+ * The reverse proxy mapping registry used in the current reverse proxy processing.
+ */
private ProxyMappingRegistry proxyMappingRegistry;
+
+ /**
+ * The resolved reverse proxy mapping instance for the current reverse proxy processing.
+ */
private ProxyMapping resolvedMapping;
+
+ /**
+ * The local path info of the current request from a client or caller.
+ */
private String localPath;
+
+ /**
+ * The resolved remote target URI for the current reverse proxy processing.
+ */
private URI remoteURI;
+
+ /**
+ * <code>HttpClient</code> instance used in the current reverse proxy processing.
+ */
private HttpClient httpClient;
+
+ /**
+ * <code>CookieStore</code> to store all the HTTP cookie data in the current reverse proxy processing.
+ */
private CookieStore cookieStore;
+
+ /**
+ * {@link HttpRequestBase} instance used during the current reverse proxy processing.
+ */
private HttpRequestBase httpRequest;
+
+ /**
+ * {@link HttpResponse} instance used during the current reverse proxy processing.
+ */
private HttpResponse httpResponse;
+
+ /**
+ * {@link ContentRewriter} instance used to rewrite the response content if any set.
+ */
private ContentRewriter contentRewriter;
+ /**
+ * List of exceptions during the reverse proxy processing if there's any.
+ */
private List<Exception> exceptions;
+ /**
+ * Constructs a <code>ProxyContext</code> for the given <code>RequestContext</code>.
+ * @param requestContext
+ */
public ProxyContext(final RequestContext requestContext)
{
super();
this.requestContext = requestContext;
}
+ /**
+ * Constructs a <code>ProxyContext</code> for the given <code>RequestContext</code>
+ * with putting all entries into the <code>ProxyContext</code> from the initial <code>map</code>.
+ * @param requestContext
+ * @param map
+ */
public ProxyContext(final RequestContext requestContext, @SuppressWarnings("rawtypes") Map map)
{
super(map);
this.requestContext = requestContext;
}
+ /**
+ * Returns the {@link RequestContext} instance in this reverse proxy processing context.
+ * @return
+ */
public RequestContext getRequestContext()
{
return requestContext;
}
+ /**
+ * Returns the reverse proxy mapping registry in this reverse proxy processing context.
+ * @return
+ */
public ProxyMappingRegistry getProxyMappingRegistry()
{
return proxyMappingRegistry;
}
+ /**
+ * Sets the reverse proxy mapping registry in this reverse proxy processing context.
+ * @param proxyMappingRegistry
+ */
public void setProxyMappingRegistry(ProxyMappingRegistry proxyMappingRegistry)
{
this.proxyMappingRegistry = proxyMappingRegistry;
}
+ /**
+ * Returns the resolved reverse proxy mapping in this reverse proxy processing context.
+ * @return
+ */
public ProxyMapping getResolvedMapping()
{
return resolvedMapping;
}
+ /**
+ * Sets the resolved reverse proxy mapping in this reverse proxy processing context.
+ * @param resolvedMapping
+ */
public void setResolvedMapping(ProxyMapping resolvedMapping)
{
this.resolvedMapping = resolvedMapping;
}
+ /**
+ * Returns the local path info in this reverse proxy processing context.
+ * @return
+ */
public String getLocalPath()
{
return localPath;
}
+ /**
+ * Sets the local path info in this reverse proxy processing context.
+ * @param localPath
+ */
public void setLocalPath(String localPath)
{
this.localPath = localPath;
}
+ /**
+ * Returns the remote target URI in this reverse proxy processing context.
+ * @return
+ */
public URI getRemoteURI()
{
return remoteURI;
}
+ /**
+ * Sets the remote target URI in this reverse proxy processing context.
+ * @param remoteURI
+ */
public void setRemoteURI(URI remoteURI)
{
this.remoteURI = remoteURI;
}
+ /**
+ * Returns the internal <code>HttpClient</code> instance used in this reverse proxy processing context.
+ * @return
+ */
public HttpClient getHttpClient()
{
return httpClient;
}
+ /**
+ * Sets the internal <code>HttpClient</code> instance to be used in this reverse proxy processing context.
+ * @param httpClient
+ */
public void setHttpClient(HttpClient httpClient)
{
this.httpClient = httpClient;
}
+ /**
+ * Returns the {@link CookieStore} instance used in this reverse proxy processing context.
+ * @return
+ */
public CookieStore getCookieStore()
{
return cookieStore;
}
+ /**
+ * Sets the {@link CookieStore} instance to be used in this reverse proxy processing context.
+ * @param cookieStore
+ */
public void setCookieStore(CookieStore cookieStore)
{
this.cookieStore = cookieStore;
}
+ /**
+ * Returns the {@link HttpRequestBase} instance used in the current reverse proxy processing context.
+ * @return
+ */
public HttpRequestBase getHttpRequest()
{
return httpRequest;
}
+ /**
+ * Sets the {@link HttpRequestBase} instance to be used in the current reverse proxy processing context.
+ * @param httpRequest
+ */
public void setHttpRequest(HttpRequestBase httpRequest)
{
this.httpRequest = httpRequest;
}
+ /**
+ * Returns the {@link HttpResponse} instance used in the current reverse proxy processing context.
+ * @return
+ */
public HttpResponse getHttpResponse()
{
return httpResponse;
}
+ /**
+ * Sets the {@link HttpResponse} instance to be used in the current reverse proxy processing context.
+ * @param httpResponse
+ */
public void setHttpResponse(HttpResponse httpResponse)
{
this.httpResponse = httpResponse;
}
+ /**
+ * Returns the {@link ContentRewriter} instance used in the current reverse proxy processing context.
+ * @return
+ */
public ContentRewriter getContentRewriter()
{
return contentRewriter;
}
+ /**
+ * Sets the {@link ContentRewriter} instance to be used in the current reverse proxy processing context.
+ * @param contentRewriter
+ */
public void setContentRewriter(ContentRewriter contentRewriter)
{
this.contentRewriter = contentRewriter;
}
+ /**
+ * Returns true if there's any exception caught during the current reverse proxy processing.
+ * Otherwise returns false.
+ * @return
+ */
public boolean hasException()
{
return (exceptions != null && !exceptions.isEmpty());
}
+ /**
+ * Adds an exception caught during the current reverse proxy processing.
+ * @param e
+ */
public void addException(Exception e)
{
if (exceptions == null)
@@ -188,6 +350,10 @@ public class ProxyContext extends Contex
exceptions.add(e);
}
+ /**
+ * Returns a list of exception(s) caught during the current reverse proxy processing.
+ * @return
+ */
public List<Exception> getExceptions()
{
return exceptions;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMapping.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMapping.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMapping.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMapping.java Tue Dec 16 05:33:37 2014
@@ -21,26 +21,90 @@ import java.util.Map;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewriter;
-
+/**
+ * <p>Reverse proxy mapping abstraction, which is responsible for</p>
+ * <ul>
+ * <li>checking whether or not a local request path info is matched by this proxy mapping,</li>
+ * <li>resolving a local request path info to a remote target URI,</li>
+ * <li>checking whether or not a remote target URI is matched by this proxy mapping,</li>
+ * <li>resolving a remote target URI to a local request path info,</li>
+ * <li>finding a proper {@link ContentRewriter} instance for the MIME type of the response content if any available,</li>
+ * <li>storing/retrieving/setting ad hoc attributes.</li>
+ * </ul>
+ * <p>
+ * <em>Note:</em> It is recommended to invoke {@link #resolveRemoteFromLocal(String)}
+ * only when {@link #matchesLocal(String)} returns true.
+ * In the same way, it is recommended to invoke {@link #resolveLocalFromRemote(URI)}
+ * only when {@link #matchesRemote(URI)} returns true.
+ * </p>
+ */
public interface ProxyMapping
{
+ /**
+ * Returns true the <code>localPath</code> can be mapped by this proxy mapping.
+ * Otherwise, it should return false.
+ * @param localPath
+ * @return
+ */
public boolean matchesLocal(String localPath);
+ /**
+ * Resolves the <code>localPath</code> to a remote target URI.
+ * @param localPath
+ * @return
+ */
public String resolveRemoteFromLocal(String localPath);
+ /**
+ * Returns true the <code>remoteURI</code> can be mapped by this proxy mapping.
+ * Otherwise, it should return false.
+ * @param remoteURI
+ * @return
+ */
public boolean matchesRemote(URI remoteURI);
+ /**
+ * Resolves the <code>remoteURI</code> to a local request path info.
+ * @param remoteURI
+ * @return
+ */
public String resolveLocalFromRemote(URI remoteURI);
+ /**
+ * Returns a {@link ContentRewriter} instance to be used for the given <code>mimeType</code>.
+ * @param mimeType
+ * @return
+ */
public ContentRewriter getContentRewriter(String mimeType);
+ /**
+ * Returns the value of the named attribute as an <code>Object</code>,
+ * or <code>null</code> if no attribute of the given name exists.
+ * @param name
+ * @return
+ */
public Object getAttribute(String name);
+ /**
+ * Stores an attribute in this context.
+ * @param name
+ * @param value
+ */
public void setAttribute(String name, Object value);
+ /**
+ * Removes an attribute from this context.
+ * @param name
+ */
public void remoteAttribute(String name);
+ /**
+ * Returns a <code>Map</code> containing the attributes available.
+ * This method returns an empty <code>Map</code>
+ * if there's no attributes available to it.
+ * @return
+ */
public Map<String, Object> getAttributesMap();
}
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMappingRegistry.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMappingRegistry.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMappingRegistry.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ProxyMappingRegistry.java Tue Dec 16 05:33:37 2014
@@ -20,19 +20,60 @@ import java.net.URI;
import java.util.Collection;
-
+/**
+ * Reverse Proxy mapping registry.
+ * <p>
+ * All the mapping information should be retrieved from this registry
+ * during a reverse proxy processing.
+ * </p>
+ */
public interface ProxyMappingRegistry
{
+ /**
+ * Adds a reverse proxy mapping to the registry.
+ * @param proxyMapping
+ * @return
+ */
public boolean addProxyMapping(ProxyMapping proxyMapping);
+ /**
+ * Adds all the reverse proxy mappings in <code>proxyMappings</code> to the registry.
+ * @param proxyMappings
+ * @return
+ */
public boolean addAllProxyMappings(Collection<ProxyMapping> proxyMappings);
+ /**
+ * Removes the specified <code>proxyMapping</code> from the registry if exists.
+ * If not exists, it does nothing.
+ * @param proxyMapping
+ * @return
+ */
public boolean removeProxyMapping(ProxyMapping proxyMapping);
+ /**
+ * Returns all the reverse proxy mappings in a collection.
+ * If there's no reverse proxy mapping, it should return an empty collection.
+ * @return
+ */
public Collection<ProxyMapping> getProxyMappings();
+ /**
+ * Finds and returns a reverse proxy mapping for the specific <code>localPath</code>
+ * which represents the path info of the request from the client or caller.
+ * If there's no reverse proxy mapping for the local request path, then it returns null.
+ * @param localPath
+ * @return
+ */
public ProxyMapping findProxyMappingByLocalPath(String localPath);
+ /**
+ * Finds and returns a reverse proxy mapping for the specific <code>remoteURI</code>
+ * which represents the remote target URI at the background.
+ * If there's no reverse proxy mapping for the remote target URI, then it returns null.
+ * @param remoteURI
+ * @return
+ */
public ProxyMapping findProxyMappingByRemoteURI(URI remoteURI);
}
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/RequestContext.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/RequestContext.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/RequestContext.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/RequestContext.java Tue Dec 16 05:33:37 2014
@@ -24,46 +24,217 @@ import javax.servlet.http.Cookie;
import org.apache.portals.applications.webcontent2.rewriter.Sink;
-
+/**
+ * HTTP request/response abstraction needed for reverse proxy processing.
+ * <p>
+ * In normal servlet runtime, this may represent parts of
+ * <code>javax.servlet.http.HttpServletRequest</code> and <code>javax.servlet.http.HttpServletResponse</code>.
+ * But, in portlet runtime, this may represent parts of
+ * <code>javax.portlet.PortletRequest</code> and <code>javax.portlet.PortletResponse</code>.
+ * </p>
+ */
public interface RequestContext
{
+ /**
+ * Returns a boolean indicating whether this request was made using a secure channel,
+ * such as HTTPS.
+ * @return
+ * @see {@link javax.servlet.ServletRequest#isSecure()}.
+ * @see {@link javax.portlet.PortletRequest#isSecure()}.
+ */
public boolean isSecure();
+ /**
+ * Returns the host name of the server to which the request was sent.
+ * It is the value of the part before ":" in the Host header value, if any, or
+ * the resolved server name, or the server IP address.
+ * @return
+ * @see {@link javax.servlet.ServletRequest#getServerName()}
+ * @see {@link javax.portlet.PortletRequest#getServerName()}.
+ */
public String getServerName();
+ /**
+ * Returns the port number to which the request was sent.
+ * It is the value of the part after ":" in the Host header value, if any,
+ * or the server port where the client connection was accepted on.
+ * @return
+ * @see {@link javax.servlet.ServletRequest#getServerPort()}
+ * @see {@link javax.portlet.PortletRequest#getServerPort()}.
+ */
public int getServerPort();
+ /**
+ * Returns the name of the HTTP method with which this request was made,
+ * for example, GET, POST, or PUT. Same as the value of the CGI variable REQUEST_METHOD.
+ * @return
+ * @see {@link javax.servlet.http.HttpServletRequest#getMethod()}
+ * @see {@link javax.portlet.ClientDataRequest#getMethod()}
+ */
public String getMethod();
+ /**
+ * Returns the base relative path of the request before the request path info.
+ * For example, in servlet runtime, if the context path is '/webcontent2',
+ * the servlet path is '/rproxy' and the path info is '/a/b/c.html', then
+ * this method should return the concatenation of the context path and servlet path,
+ * '/webcontent2/rproxy'.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't give a request path info unlike servlet runtime.
+ * So, an implementation for that kind of runtime may return an empty string
+ * and decide not to use this method.
+ * </p>
+ * @return
+ */
public String getRequestBasePath();
+ /**
+ * Returns any extra path information associated with the URL the client sent
+ * when it made this request.
+ * For example, in servlet runtime, if the relative URL is '/webcontent2/rproxy/a/b/c.html'
+ * where the context path is '/webcontent2' and the servlet path is '/rproxy',
+ * then this method should return '/a/b/c.html'.
+ * @return
+ * @see {@link org.apache.portals.applications.webcontent2.portlet.proxy.PortletRequestContext#getRequestBasePath()}
+ */
public String getPathInfo();
+ /**
+ * Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
+ * @param name
+ * @return
+ * @see {@link javax.servlet.ServletRequest#getAttribute()}
+ * @see {@link javax.portlet.PortletRequest#getAttribute()}
+ */
public Object getAttribute(final String name);
+ /**
+ * Returns the query string that is contained in the request URL after the path.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't give an HTTP request query string unlike servlet runtime.
+ * So, an implementation for that kind of runtime may return null and decide not to use this method.
+ * </p>
+ * @return
+ * @see {@link javax.servlet.http.HttpServletRequest#getQueryString()}
+ * @see {@link org.apache.portals.applications.webcontent2.portlet.proxy.PortletRequestContext#getQueryString()}
+ */
public String getQueryString();
+ /**
+ * Returns an enumeration of all the header names this request contains.
+ * If the request has no headers, this method returns an empty enumeration.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't have a method named <code>getHeaderNames()</code> unlike servlet runtime.
+ * So, an implementation for portlet runtime may invoke {@link javax.portlet.PortletRequest#getPropertyNames()} internally
+ * instead because some portlet container implementations such as Apache Jetspeed-2 may return HTTP header names on the method call.
+ * </p>
+ * @return
+ * @see {@link javax.servlet.http.HttpServletRequest#getHeaderNames()}
+ * @see {@link javax.portlet.PortletRequest#getPropertyNames()}
+ */
@SuppressWarnings("rawtypes")
public Enumeration getHeaderNames();
+ /**
+ * Returns all the values of the specified request header as an Enumeration of String objects.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't have a method named <code>getHeaders(String)</code> unlike servlet runtime.
+ * So, an implementation for portlet runtime may invoke {@link javax.portlet.PortletRequest#getProperties()} internally
+ * instead because some portlet container implementations such as Apache Jetspeed-2 may return HTTP headers on the method call.
+ * </p>
+ * @param name
+ * @return
+ * @see {@link javax.servlet.http.HttpServletRequest#getHeaders(String)}
+ * @see {@link javax.portlet.PortletRequest#getProperties(String)}
+ */
@SuppressWarnings("rawtypes")
public Enumeration getHeaders(String name);
+ /**
+ * Returns the value of the specified request header as a String.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't have a method named <code>getHeader(String)</code> unlike servlet runtime.
+ * So, an implementation for portlet runtime may invoke {@link javax.portlet.PortletRequest#getProperty(String)} internally
+ * instead because some portlet container implementations such as Apache Jetspeed-2 may return HTTP headers on the method call.
+ * </p>
+ * @param name
+ * @return
+ * @see {@link javax.servlet.http.HttpServletRequest#getHeader(String)}
+ * @see {@link javax.portlet.PortletRequest#getProperty(String)}
+ */
public String getHeader(String name);
+ /**
+ * Retrieves a <code>java.io.InputStream</code> of the body of the request as binary data.
+ * @return
+ * @throws IOException
+ * @see {@link javax.servlet.ServletRequest#getInputStream()}
+ * @see {@link javax.portlet.ClientDataRequest#getPortletInputStream()}
+ */
public InputStream getInputStream() throws IOException;
+ /**
+ * Sets the status code for this response.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't allow a portlet to set the response status code unlike servlet runtime.
+ * So, an implementation for portlet runtime may store it as a member without making any impact by itself.
+ * </p>
+ * @param sc
+ * @see {@link javax.servlet.http.HttpServletResponse#setStatus(int)}
+ * @see {@link org.apache.portals.applications.webcontent2.portlet.proxy.PortletRequestContext#setStatus(int)}
+ */
public void setStatus(int sc);
+ /**
+ * Sends a temporary redirect response to the client using the specified redirect location URL.
+ * @param location
+ * @throws IOException
+ * @see {@link javax.servlet.http.HttpServletResponse#sendRedirect(String)}
+ * @see {@link javax.portlet.ActionResponse#sendRedirect(String)}
+ */
public void sendRedirect(String location) throws IOException;
+ /**
+ * Sets a response header with the given name and value.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't have a method named <code>setHeader(String, String)</code> unlike servlet runtime.
+ * So, an implementation for portlet runtime may invoke {@link javax.portlet.PortletRequest#setProperty(String, String)} internally
+ * instead because some portlet container implementations such as Apache Jetspeed-2 may return HTTP headers on the method call.
+ * </p>
+ * @param name
+ * @param value
+ * @see {@link javax.servlet.http.HttpServletResponse#setHeader(String, String)}
+ * @see {@link javax.portlet.PortletResponse#setProperty(String, String)}
+ */
public void setHeader(String name, String value);
+ /**
+ * Sets a response header with the given name and integer value.
+ * <p>
+ * <em>Note:</em> Portlet runtime doesn't have a method named <code>setIntHeader(String, int)</code> unlike servlet runtime.
+ * So, an implementation for portlet runtime may invoke {@link javax.portlet.PortletRequest#setProperty(String, String)} internally
+ * instead because some portlet container implementations such as Apache Jetspeed-2 may return HTTP headers on the method call.
+ * </p>
+ * @param name
+ * @param value
+ * @see {@link javax.servlet.http.HttpServletResponse#setIntHeader(String, String)}
+ * @see {@link javax.portlet.PortletResponse#setProperty(String, String)}
+ */
public void setIntHeader(String name, int value);
+ /**
+ * Adds the specified cookie to the response.
+ * @param cookie
+ * @see {@link javax.servlet.http.HttpServletResponse#addCookie(Cookie)}
+ * @see {@link javax.portlet.PortletResponse#addProperty(Cookie)}
+ */
public void addCookie(Cookie cookie);
+ /**
+ * Returns the {@link Sink} instance used in the current reverse proxy processing.
+ * @return
+ */
public Sink getSink();
}
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyException.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyException.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyException.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyException.java Tue Dec 16 05:33:37 2014
@@ -26,6 +26,9 @@ public class ReverseProxyException exten
private static final long serialVersionUID = 1L;
+ /**
+ * HTTP Response status code.
+ */
private int statusCode;
/**
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyService.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyService.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyService.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/ReverseProxyService.java Tue Dec 16 05:33:37 2014
@@ -18,14 +18,19 @@ package org.apache.portals.applications.
import java.io.IOException;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
-
/**
- * Reverse Proxy Service interface
+ * Reverse proxy service interface.
*/
public interface ReverseProxyService
{
+ /**
+ * Invokes reverse proxy service with a <code>proxyContext</code>
+ * which provides runtime context information.
+ * @param proxyContext runtime context information for the reverse proxy service invocation
+ * @throws ReverseProxyException
+ * @throws IOException
+ */
public void invoke(ProxyContext proxyContext) throws ReverseProxyException, IOException;
}
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommand.java Tue Dec 16 05:33:37 2014
@@ -25,9 +25,9 @@ import javax.servlet.http.Cookie;
import org.apache.http.client.CookieStore;
import org.apache.http.client.utils.URIUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class AddCookiesToResponseCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeaderToHttpRequestCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeaderToHttpRequestCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeaderToHttpRequestCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeaderToHttpRequestCommand.java Tue Dec 16 05:33:37 2014
@@ -22,9 +22,9 @@ import java.util.Enumeration;
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.protocol.HTTP;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class AddHeaderToHttpRequestCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeadersToResponseCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeadersToResponseCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeadersToResponseCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/AddHeadersToResponseCommand.java Tue Dec 16 05:33:37 2014
@@ -25,9 +25,9 @@ import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.protocol.HTTP;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.util.RequestUtils;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/CleanupCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/CleanupCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/CleanupCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/CleanupCommand.java Tue Dec 16 05:33:37 2014
@@ -24,9 +24,9 @@ import org.apache.http.client.HttpClient
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.util.EntityUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ExecuteHttpClientCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ExecuteHttpClientCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ExecuteHttpClientCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ExecuteHttpClientCommand.java Tue Dec 16 05:33:37 2014
@@ -22,9 +22,9 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.portals.applications.webcontent2.proxy.HttpClientContextBuilder;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class ExecuteHttpClientCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleNotModifiedCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleNotModifiedCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleNotModifiedCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleNotModifiedCommand.java Tue Dec 16 05:33:37 2014
@@ -22,9 +22,9 @@ import javax.servlet.http.HttpServletRes
import org.apache.http.HttpResponse;
import org.apache.http.protocol.HTTP;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class HandleNotModifiedCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleRedirectionCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleRedirectionCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleRedirectionCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/HandleRedirectionCommand.java Tue Dec 16 05:33:37 2014
@@ -23,10 +23,10 @@ import javax.servlet.http.HttpServletRes
import org.apache.http.Header;
import org.apache.http.HttpResponse;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpClientCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpClientCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpClientCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpClientCommand.java Tue Dec 16 05:33:37 2014
@@ -21,9 +21,9 @@ import java.io.IOException;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class InitHttpClientCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpRequestCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpRequestCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpRequestCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitHttpRequestCommand.java Tue Dec 16 05:33:37 2014
@@ -33,9 +33,9 @@ import org.apache.http.client.methods.Ht
import org.apache.http.client.methods.HttpTrace;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.protocol.HTTP;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class InitHttpRequestCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitializationCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitializationCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitializationCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/InitializationCommand.java Tue Dec 16 05:33:37 2014
@@ -18,9 +18,9 @@ package org.apache.portals.applications.
import java.io.IOException;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveContentRewriterCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveContentRewriterCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveContentRewriterCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveContentRewriterCommand.java Tue Dec 16 05:33:37 2014
@@ -21,10 +21,10 @@ import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.entity.ContentType;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewriter;
public class ResolveContentRewriterCommand extends AbstractProxyCommand
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveLocalPathCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveLocalPathCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveLocalPathCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveLocalPathCommand.java Tue Dec 16 05:33:37 2014
@@ -18,9 +18,9 @@ package org.apache.portals.applications.
import java.io.IOException;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveProxyMappingCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveProxyMappingCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveProxyMappingCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveProxyMappingCommand.java Tue Dec 16 05:33:37 2014
@@ -20,11 +20,11 @@ import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ProxyMappingRegistry;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
public class ResolveProxyMappingCommand extends AbstractProxyCommand
{
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveRemoteURICommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveRemoteURICommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveRemoteURICommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/ResolveRemoteURICommand.java Tue Dec 16 05:33:37 2014
@@ -21,10 +21,10 @@ import java.net.URI;
import javax.servlet.http.HttpServletResponse;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.URICleaner;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/SerializeHttpEntityContentCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/SerializeHttpEntityContentCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/SerializeHttpEntityContentCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/command/SerializeHttpEntityContentCommand.java Tue Dec 16 05:33:37 2014
@@ -31,13 +31,13 @@ import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.entity.ContentType;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ProxyMappingRegistry;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
import org.apache.portals.applications.webcontent2.proxy.impl.GzippedSource;
import org.apache.portals.applications.webcontent2.proxy.impl.HttpEntitySource;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.util.RequestUtils;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewriter;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewritingContext;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/filter/GenericReverseProxyFilter.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/filter/GenericReverseProxyFilter.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/filter/GenericReverseProxyFilter.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/filter/GenericReverseProxyFilter.java Tue Dec 16 05:33:37 2014
@@ -38,9 +38,9 @@ import org.apache.http.client.methods.Ht
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpTrace;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyService;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.ServletRequestContext;
import org.apache.portals.applications.webcontent2.proxy.util.RequestUtils;
import org.slf4j.Logger;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/AbstractProxyCommand.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/AbstractProxyCommand.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/AbstractProxyCommand.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/AbstractProxyCommand.java Tue Dec 16 05:33:37 2014
@@ -20,6 +20,7 @@ import java.io.IOException;
import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
public abstract class AbstractProxyCommand implements Command
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/DefaultReverseProxyService.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/DefaultReverseProxyService.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/DefaultReverseProxyService.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/DefaultReverseProxyService.java Tue Dec 16 05:33:37 2014
@@ -3,6 +3,7 @@ package org.apache.portals.applications.
import java.io.IOException;
import java.util.List;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyService;
import org.slf4j.Logger;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyProcessingChain.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyProcessingChain.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyProcessingChain.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/impl/ProxyProcessingChain.java Tue Dec 16 05:33:37 2014
@@ -26,6 +26,7 @@ import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
import org.apache.commons.chain.impl.ChainBase;
import org.apache.commons.lang.ArrayUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
/**
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriter.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriter.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriter.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriter.java Tue Dec 16 05:33:37 2014
@@ -23,10 +23,10 @@ import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
import org.apache.http.client.utils.URIUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ProxyMappingRegistry;
import org.apache.portals.applications.webcontent2.proxy.RequestContext;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.util.CharArraySegment;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewritingContext;
import org.apache.portals.applications.webcontent2.rewriter.ContentRewritingException;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/servlet/GenericReverseProxyServlet.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/servlet/GenericReverseProxyServlet.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/servlet/GenericReverseProxyServlet.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/main/java/org/apache/portals/applications/webcontent2/proxy/servlet/GenericReverseProxyServlet.java Tue Dec 16 05:33:37 2014
@@ -33,9 +33,9 @@ import org.apache.http.client.methods.Ht
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpTrace;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyService;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.ServletRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/ProxyCommandChainTest.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/ProxyCommandChainTest.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/ProxyCommandChainTest.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/ProxyCommandChainTest.java Tue Dec 16 05:33:37 2014
@@ -41,7 +41,6 @@ import org.apache.commons.chain.Context;
import org.apache.commons.chain.impl.CatalogBase;
import org.apache.portals.applications.webcontent2.proxy.ReverseProxyException;
import org.apache.portals.applications.webcontent2.proxy.impl.AbstractProxyCommand;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.ProxyProcessingChain;
import org.junit.Before;
import org.junit.Test;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommandTest.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommandTest.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommandTest.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/command/AddCookiesToResponseCommandTest.java Tue Dec 16 05:33:37 2014
@@ -21,7 +21,7 @@ import static org.junit.Assert.assertEqu
import java.net.URI;
import org.apache.http.impl.cookie.BasicClientCookie;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.SimpleProxyMapping;
import org.junit.Test;
Modified: portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriterTest.java
URL: http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriterTest.java?rev=1645845&r1=1645844&r2=1645845&view=diff
==============================================================================
--- portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriterTest.java (original)
+++ portals/applications/webcontent/trunk/reverse-proxy/src/test/java/org/apache/portals/applications/webcontent2/proxy/rewriter/DefaultReverseProxyTextLineContentRewriterTest.java Tue Dec 16 05:33:37 2014
@@ -24,10 +24,10 @@ import java.net.URI;
import java.util.List;
import org.apache.commons.io.IOUtils;
+import org.apache.portals.applications.webcontent2.proxy.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.ProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.ProxyMappingRegistry;
import org.apache.portals.applications.webcontent2.proxy.impl.DefaultProxyMappingRegistry;
-import org.apache.portals.applications.webcontent2.proxy.impl.ProxyContext;
import org.apache.portals.applications.webcontent2.proxy.impl.RegexProxyMapping;
import org.apache.portals.applications.webcontent2.proxy.impl.ServletRequestContext;
import org.apache.portals.applications.webcontent2.proxy.impl.SimpleProxyMapping;