org.springframework.osgi.web.deployer.support
Class DefaultContextPathStrategy
java.lang.Object
org.springframework.osgi.web.deployer.support.DefaultContextPathStrategy
- All Implemented Interfaces:
- ContextPathStrategy
public class DefaultContextPathStrategy
- extends Object
- implements ContextPathStrategy
ContextPathStrategy
default implementation. This class takes into
account the OSGi bundle properties for determining the war context path. by
iterating through the following properties, considering the first one that is
available in the following order:
- Web-ContextPath manifest header (identical to the one in SpringSource
Application Platform). If present, the value of this header will be used as
the context path.
- bundle location - if present, the implementation will try to determine
if the location points to a file or a folder. In both cases, the name will be
returned without the extension (if it's present):
/root/bundle.jar -> /bundle
/root/bundle/ -> /bundle
/root/bundle.jar/ -> /bundle
file:/path/bundle.jar -> /bundle
jar:url:/root/bundle.jar -> /bundle
- bundle name - if present, it is used as a fall back to the bundle
location (ex: /myBundle)
- bundle symbolic name - if present, it used as a fall back to the bundle
name (ex: /org.comp.osgi.some.bundle)
- bundle identity - if neither of the properties above is present, the
bundle object identity will be used as context path (ex:
/BundleImpl-15a0305)
Additionally, the returned context path will be HTML encoded (using 'UTF-8')
to avoid problems with unsafe characters (such as whitespace).
- Author:
- Costin Leau
- See Also:
Bundle.getLocation()
,
Constants.BUNDLE_NAME
,
Bundle.getSymbolicName()
,
System.identityHashCode(Object)
,
URLEncoder.encode(String, String)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultContextPathStrategy
public DefaultContextPathStrategy()
getContextPath
public String getContextPath(Bundle bundle)
- Description copied from interface:
ContextPathStrategy
- Obtains the context path for the given OSGi bundle. The returned String
should be not null and should not contain any spaces.
- Specified by:
getContextPath
in interface ContextPathStrategy
- Parameters:
bundle
- OSGi bundle deployed as war
- Returns:
- the not-null context path (without any spaces) associated with
the given bundle
determineContextPath
protected String determineContextPath(Bundle bundle)
- Determines the context path associated with this bundle. This method can
be overridden by possible subclasses that wish to decorate or modify the
existing behaviour.
- Parameters:
bundle
- bundle for which the context path needs to be determined
- Returns:
- non-null context path determined for the given bundle
Copyright © 2006-2009 Spring Framework. All Rights Reserved.