use of org.xwiki.component.phase.InitializationException in project xwiki-platform by xwiki.
the class DefaultRenderingCache method initialize.
@Override
public void initialize() throws InitializationException {
if (this.configuration.isEnabled()) {
CacheConfiguration cacheConfiguration = new CacheConfiguration();
cacheConfiguration.setConfigurationId(NAME);
LRUEvictionConfiguration lru = new LRUEvictionConfiguration();
lru.setMaxEntries(this.configuration.getSize());
lru.setLifespan(this.configuration.getDuration());
cacheConfiguration.put(LRUEvictionConfiguration.CONFIGURATIONID, lru);
try {
this.cache.create(cacheConfiguration);
} catch (CacheException e) {
throw new InitializationException("Failed to initialize core rendering cache", e);
}
}
}
use of org.xwiki.component.phase.InitializationException in project xwiki-platform by xwiki.
the class AbstractDataMigrationManager method initialize.
@Override
public void initialize() throws InitializationException {
try {
SortedMap<XWikiDBVersion, XWikiMigration> availableMigrations = new TreeMap<>();
Map<XWikiDBVersion, XWikiMigration> forcedMigrations = getForcedMigrations();
if (!forcedMigrations.isEmpty()) {
availableMigrations.putAll(forcedMigrations);
} else {
Set<String> ignoredMigrations = new HashSet<String>(Arrays.asList(getXWikiConfig().getPropertyAsList("xwiki.store.migration.ignored")));
for (DataMigration migrator : getAllMigrations()) {
if (ignoredMigrations.contains(migrator.getClass().getName()) || ignoredMigrations.contains(migrator.getVersion().toString())) {
continue;
}
XWikiMigration migration = new XWikiMigration(migrator, false);
availableMigrations.put(migrator.getVersion(), migration);
}
}
this.targetVersion = (availableMigrations.size() > 0) ? availableMigrations.lastKey() : new XWikiDBVersion(0);
this.migrations = availableMigrations.values();
} catch (Exception e) {
throw new InitializationException("Migration Manager initialization failed", e);
}
this.observationManager.addListener(new WikiDeletedEventListener());
}
use of org.xwiki.component.phase.InitializationException in project xwiki-platform by xwiki.
the class DefaultWikiComponentManager method registerWikiComponent.
@Override
public void registerWikiComponent(WikiComponent component) throws WikiComponentException {
// Save current context information
DocumentReference currentUserReference = this.wikiComponentManagerContext.getCurrentUserReference();
EntityReference currentEntityReference = this.wikiComponentManagerContext.getCurrentEntityReference();
try {
// Get the component role interface
Type roleType = component.getRoleType();
Class<?> roleTypeClass = ReflectionUtils.getTypeClass(roleType);
ComponentDescriptor componentDescriptor = createComponentDescriptor(roleType, component.getRoleHint());
// Set the proper information so the component manager use the proper keys to find components to register
this.wikiComponentManagerContext.setCurrentUserReference(component.getAuthorReference());
this.wikiComponentManagerContext.setCurrentEntityReference(component.getEntityReference());
// Since we are responsible to create the component instance, we also are responsible of its initialization
if (this.isInitializable(component.getClass().getInterfaces())) {
try {
((Initializable) component).initialize();
} catch (InitializationException e) {
this.logger.error("Failed to initialize wiki component", e);
}
}
// Register the wiki component against the Component Manager
getComponentManager(component.getScope()).registerComponent(componentDescriptor, roleTypeClass.cast(component));
// And add it the wiki component cache so that we can remove it later on. We need to do this since we need
// to be able to unregister a wiki component associated with a wiki page
cacheWikiComponent(component);
} catch (ComponentLookupException e) {
throw new WikiComponentException(String.format("Failed to find a component manager for scope [%s] wiki " + "component registration failed", component.getScope()), e);
} catch (ComponentRepositoryException e) {
throw new WikiComponentException("Failed to register wiki component against component repository", e);
} finally {
this.wikiComponentManagerContext.setCurrentUserReference(currentUserReference);
this.wikiComponentManagerContext.setCurrentEntityReference(currentEntityReference);
}
}
use of org.xwiki.component.phase.InitializationException in project xwiki-platform by xwiki.
the class InstanceOutputFilterStreamFactory method initialize.
@Override
public void initialize() throws InitializationException {
super.initialize();
List<OutputInstanceFilterStreamFactory> factories;
try {
factories = this.componentManagerProvider.get().getInstanceList(OutputInstanceFilterStreamFactory.class);
} catch (ComponentLookupException e) {
throw new InitializationException("Failed to get registered instance of OutputInstanceFilterStreamFactory components", e);
}
FilterStreamDescriptor[] descriptors = new FilterStreamDescriptor[factories.size() + 1];
descriptors[0] = this.descriptor;
for (int i = 0; i < factories.size(); ++i) {
descriptors[i + 1] = factories.get(i).getDescriptor();
}
setDescriptor(new CompositeFilterStreamDescriptor(this.descriptor.getName(), this.descriptor.getDescription(), descriptors));
}
Aggregations