Class RuntimeHarnessImpl
- All Implemented Interfaces:
RuntimeHarness
- Direct Known Subclasses:
NXRuntimeTestCase
- Since:
- 10.2
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StandaloneBundleLoaderprotected Map<String,BundleFile> protected booleanprotected static final org.apache.logging.log4j.Loggerprotected OSGiAdapterprotected OSGiRuntimeServiceprotected org.osgi.framework.Bundleprotected TargetResourceLocatorprotected URL[]protected List<WorkingDirectoryConfigurator>protected File -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoiddeployBundle(String name) Deploys a whole OSGI bundle.voiddeployContrib(String name, String contrib) Deploys a contribution from a given bundle.voiddeployFolder(File folder, ClassLoader loader) Deprecated.deployPartial(String name, Set<TargetExtensions> targetExtensions) Deploys a subset of a Bundle defined per the targetExtensions parameterprotected voiddeployPartialComponent(RuntimeContext ctx, Set<TargetExtensions> extensionPoints, StreamRef component) Read a component from his StreamRef and create a new component (suffixed with `-partial`, and the base component name aliased) with only matching contributions of the extensionPoints parameter.deployTestContrib(String bundle, String contrib) Deprecated.deployTestContrib(String bundle, URL contrib) Deprecated.voidResume the runtimeDeprecated.Runtime context for deploymentOSGI bridgeDeprecated.Gets the framework working directory.protected voidInits the osgi runtime.protected voidinitUrls()Inits the urls.protected static URL[]protected booleanisAnEmptyTestProperty(Map.Entry<Object, Object> entry) booleanbooleanlistBundleComponents(org.osgi.framework.Bundle bundle) Listing component's urls of a bundle.protected BundleFilelookupBundle(String bundleName) Lookup bundle.protected StringRead symbolic name.voidrestart()voidstart()voidstop()voidundeployContrib(String name, String contrib) Undeploys a contribution from a given bundle.protected voidRemoves Nuxeo test system properties that are empty.protected voidMakes sure there is no previous runtime hanging around.
-
Field Details
-
log
protected static final org.apache.logging.log4j.Logger log -
bundleLoader
-
bundles
-
frameworkStarted
protected boolean frameworkStarted -
osgi
-
readUris
-
runtime
-
runtimeBundle
protected org.osgi.framework.Bundle runtimeBundle -
targetResourceLocator
-
urls
-
wdConfigs
-
workingDir
-
-
Constructor Details
-
RuntimeHarnessImpl
protected RuntimeHarnessImpl() -
RuntimeHarnessImpl
-
-
Method Details
-
introspectClasspath
-
addWorkingDirectoryConfigurator
- Specified by:
addWorkingDirectoryConfiguratorin interfaceRuntimeHarness
-
deployBundle
Description copied from interface:RuntimeHarnessDeploys a whole OSGI bundle.The lookup is first done on symbolic name, as set in
MANIFEST.MFand then falls back to the bundle url (e.g.,nuxeo-platform-search-api) for backwards compatibility.- Specified by:
deployBundlein interfaceRuntimeHarness- Parameters:
name- the symbolic name- Throws:
Exception
-
deployContrib
Description copied from interface:RuntimeHarnessDeploys a contribution from a given bundle.The path will be relative to the bundle root. Example:
deployContrib("org.nuxeo.ecm.core", "OSGI-INF/CoreExtensions.xml")For compatibility reasons the name of the bundle may be a jar name, but this use is discouraged and deprecated.
- Specified by:
deployContribin interfaceRuntimeHarness- Parameters:
name- the name of the bundle to peek the contrib incontrib- the path to contrib in the bundle.- Throws:
Exception
-
deployFolder
Deprecated.- Specified by:
deployFolderin interfaceRuntimeHarness- Throws:
Exception
-
deployPartial
public RuntimeContext deployPartial(String name, Set<TargetExtensions> targetExtensions) throws Exception Description copied from interface:RuntimeHarnessDeploys a subset of a Bundle defined per the targetExtensions parameter- Specified by:
deployPartialin interfaceRuntimeHarness- Parameters:
name- the name of the componenttargetExtensions- Set of allowed TargetExtensions in the final contribution- Throws:
Exception
-
deployTestContrib
Deprecated.Description copied from interface:RuntimeHarnessDeploys an XML contribution from outside a bundle.This should be used by tests wiling to deploy test contribution as part of a real bundle.
The bundle owner is important since the contribution may depend on resources deployed in that bundle.
Note that the owner bundle MUST be an already deployed bundle.
- Specified by:
deployTestContribin interfaceRuntimeHarness- Parameters:
bundle- the bundle that becomes the contribution ownercontrib- the contribution to deploy as part of the given bundle- Throws:
Exception
-
deployTestContrib
Deprecated.- Specified by:
deployTestContribin interfaceRuntimeHarness- Throws:
Exception
-
fireFrameworkStarted
public void fireFrameworkStarted()Description copied from interface:RuntimeHarnessResume the runtime- Specified by:
fireFrameworkStartedin interfaceRuntimeHarness
-
getClassLoaderFiles
Deprecated.- Specified by:
getClassLoaderFilesin interfaceRuntimeHarness- Throws:
URISyntaxException
-
getContext
Description copied from interface:RuntimeHarnessRuntime context for deployment- Specified by:
getContextin interfaceRuntimeHarness
-
getOSGiAdapter
Description copied from interface:RuntimeHarnessOSGI bridge- Specified by:
getOSGiAdapterin interfaceRuntimeHarness
-
getProperties
Deprecated.Description copied from interface:RuntimeHarnessFramework properties for variable injections- Specified by:
getPropertiesin interfaceRuntimeHarness
-
getWorkingDir
Description copied from interface:RuntimeHarnessGets the framework working directory.- Specified by:
getWorkingDirin interfaceRuntimeHarness
-
isRestart
public boolean isRestart()- Specified by:
isRestartin interfaceRuntimeHarness
-
isStarted
public boolean isStarted()- Specified by:
isStartedin interfaceRuntimeHarness
-
restart
- Specified by:
restartin interfaceRuntimeHarness- Throws:
Exception
-
start
- Specified by:
startin interfaceRuntimeHarness- Throws:
Exception
-
stop
- Specified by:
stopin interfaceRuntimeHarness- Throws:
Exception
-
undeployContrib
Description copied from interface:RuntimeHarnessUndeploys a contribution from a given bundle.The path will be relative to the bundle root. Example:
undeployContrib("org.nuxeo.ecm.core", "OSGI-INF/CoreExtensions.xml")- Specified by:
undeployContribin interfaceRuntimeHarness- Parameters:
name- the bundlecontrib- the contribution
-
deployPartialComponent
protected void deployPartialComponent(RuntimeContext ctx, Set<TargetExtensions> extensionPoints, StreamRef component) throws IOException Read a component from his StreamRef and create a new component (suffixed with `-partial`, and the base component name aliased) with only matching contributions of the extensionPoints parameter.- Parameters:
ctx- RuntimeContext in which the new component will be deployedextensionPoints- Set of white listed TargetExtensionscomponent- Reference to the original component- Throws:
IOException- Signals that an I/O exception has occurred.
-
initOsgiRuntime
Inits the osgi runtime.- Throws:
Exception- the exception
-
initUrls
protected void initUrls()Inits the urls. -
listBundleComponents
Listing component's urls of a bundle. Inspired from org.nuxeo.runtime.osgi.OSGiRuntimeService#loadComponents but without deploying anything.- Parameters:
bundle- Bundle to be read- Returns:
- the stream
-
lookupBundle
Lookup bundle.- Parameters:
bundleName- the bundle name- Returns:
- the bundle file
- Throws:
Exception- the exception
-
readSymbolicName
Read symbolic name.- Parameters:
bf- the bf- Returns:
- the string
-
wipeRuntime
protected void wipeRuntime()Makes sure there is no previous runtime hanging around.This happens for instance if a previous test had errors in its
setUp(), becausetearDown()has not been called. -
wipeEmptyTestSystemProperties
protected void wipeEmptyTestSystemProperties()Removes Nuxeo test system properties that are empty.This is needed when using maven surefire > 2.17 because since SUREFIRE-649 surefire propagates empty system properties.
-
isAnEmptyTestProperty
-