use of org.osgi.service.component.ComponentContext in project sling by apache.
the class MockOsgi method activate.
/**
* Simulate activation of service instance. Invokes the @Activate annotated method.
* @param target Service instance.
* @param bundleContext Bundle context
* @param properties Properties
* @return true if activation method was called. False if no activate method is defined.
*/
public static boolean activate(Object target, BundleContext bundleContext, Dictionary<String, Object> properties) {
Dictionary<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, getConfigAdmin(bundleContext), properties);
ComponentContext componentContext = newComponentContext(bundleContext, mergedProperties);
return OsgiServiceUtil.activateDeactivate(target, componentContext, true);
}
use of org.osgi.service.component.ComponentContext in project sling by apache.
the class MockOsgi method modified.
/**
* Simulate configuration modification of service instance. Invokes the @Modified annotated method.
* @param target Service instance.
* @param bundleContext Bundle context
* @param properties Properties
* @return true if modified method was called. False if no modified method is defined.
*/
public static boolean modified(Object target, BundleContext bundleContext, Map<String, Object> properties) {
Map<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, getConfigAdmin(bundleContext), properties);
ComponentContext componentContext = newComponentContext(bundleContext, mergedProperties);
return OsgiServiceUtil.modified(target, componentContext, mergedProperties);
}
use of org.osgi.service.component.ComponentContext in project sling by apache.
the class MockMimeTypeService method lazyInitialization.
/**
* Do lazy initializing because reading to avoid reading all defined mime
* types from disk if not required
*/
private void lazyInitialization() {
if (!this.initialized) {
this.initialized = true;
// activate service in simulated OSGi environment
ComponentContext componentContext = MockOsgi.newComponentContext();
this.bindLogService(MockOsgi.newLogService(getClass()));
activate(componentContext);
}
}
use of org.osgi.service.component.ComponentContext in project stanbol by apache.
the class LangIdEngineTest method testEngine.
/**
* Test the engine and validates the created enhancements
* @throws EngineException
* @throws IOException
* @throws ConfigurationException
*/
@Test
public void testEngine() throws EngineException, IOException, ConfigurationException {
LangIdEnhancementEngine langIdEngine = new LangIdEnhancementEngine();
ComponentContext context = new MockComponentContext();
context.getProperties().put(EnhancementEngine.PROPERTY_NAME, "langid");
langIdEngine.activate(context);
ContentItem ci = ciFactory.createContentItem(new StringSource(text));
langIdEngine.computeEnhancements(ci);
HashMap<IRI, RDFTerm> expectedValues = new HashMap<IRI, RDFTerm>();
expectedValues.put(Properties.ENHANCER_EXTRACTED_FROM, ci.getUri());
expectedValues.put(Properties.DC_CREATOR, LiteralFactory.getInstance().createTypedLiteral(langIdEngine.getClass().getName()));
int textAnnotationCount = validateAllTextAnnotations(ci.getMetadata(), text, expectedValues);
assertEquals("A single TextAnnotation is expected", 1, textAnnotationCount);
//even through this tests do not validate service quality but rather
//the correct integration of the CELI service as EnhancementEngine
//we expect the "en" is detected for the parsed text
assertEquals("The detected language for text '" + text + "' MUST BE 'en'", "en", EnhancementEngineHelper.getLanguage(ci));
int entityAnnoNum = validateAllEntityAnnotations(ci.getMetadata(), expectedValues);
assertEquals("No EntityAnnotations are expected", 0, entityAnnoNum);
}
use of org.osgi.service.component.ComponentContext in project sling by apache.
the class ResourceDetectionTest method testStopAndRestart.
@Test
public void testStopAndRestart() throws Exception {
assertRegisteredPaths(contentHelper.FAKE_RESOURCES);
assertRegisteredPaths(contentHelper.FAKE_CONFIGS);
final ComponentContext cc = context.componentContext();
// With the installer deactivated, remove two resources and add some new ones
osgiInstaller.clearRecordedCalls();
installer.deactivate(cc);
assertEquals("Expected no calls to OsgiInstaller when deactivating JcrInstaller", 0, osgiInstaller.getRecordedCalls().size());
final int toRemove = 2;
contentHelper.delete(contentHelper.FAKE_RESOURCES[toRemove]);
contentHelper.delete(contentHelper.FAKE_CONFIGS[toRemove]);
final String[] toAdd = { "/libs/foo/bar/install/" + System.currentTimeMillis() + ".jar", "/libs/foo/wii/install/" + +System.currentTimeMillis() + ".properties", "/libs/foo/wii/install/" + +System.currentTimeMillis() + ".cfg" };
for (String path : toAdd) {
contentHelper.createOrUpdateFile(path);
}
// Verify that no calls have been made to OSGi installer
eventHelper.waitForEvents(TIMEOUT);
Thread.sleep(JcrInstaller.RUN_LOOP_DELAY_MSEC * 3);
assertEquals("Expected no calls to OsgiInstaller while JcrInstaller is stopped", 0, osgiInstaller.getRecordedCalls().size());
// Restart JcrInstaller and verify that all remaining resources are re-registered
installer.activate(cc);
MiscUtil.waitAfterContentChanges(eventHelper, installer);
for (int i = 0; i < contentHelper.FAKE_RESOURCES.length; i++) {
final String path = contentHelper.FAKE_RESOURCES[i];
if (i == toRemove) {
assertFalse("Path should be absent from recorded calls", osgiInstaller.getRecordedCalls().contains(path));
} else {
assertRecordedCall("register", path);
}
}
for (int i = 0; i < contentHelper.FAKE_CONFIGS.length; i++) {
final String path = contentHelper.FAKE_CONFIGS[i];
if (i == toRemove) {
assertFalse("Path should be absent from recorded calls", osgiInstaller.getRecordedCalls().contains(path));
} else {
assertRecordedCall("register", path);
}
}
for (String path : toAdd) {
assertRecordedCall("register", path);
}
}
Aggregations