@Override public void deactivate(ComponentContext context) { if (initializationHandler != null) { initializationHandler.uninstall(); } }
protected void initializeRepository(final RepositoryInitializationHandler handler, String name) { new UnrestrictedSessionRunner(name) { @Override public void run() { handler.initializeRepository(session); } }.runUnrestricted(); }
@Override public void afterStart(ComponentManager mgr, boolean isResume) { initRepositories(); // call all RepositoryInitializationHandler }
@Override public String probeState() { List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); if (repositoryNames.stream().map(this::probeRepository).anyMatch(isEqual(MIGRATION_STATE_RELATIONS))) { return MIGRATION_STATE_RELATIONS; } return MIGRATION_STATE_FACETS; }
/** * Initializes all the repositories. Requires an active transaction. * * @since 9.3 */ protected void doInitRepositories() { // give up if no handler configured RepositoryInitializationHandler handler = RepositoryInitializationHandler.getInstance(); if (handler == null) { return; } // invoke handlers for (String name : getRepositoryNames()) { initializeRepository(handler, name); } }
/** * Creates all the repositories. Requires an active transaction. * * @since 9.3 */ protected void doCreateRepositories() { repositories.clear(); for (String repositoryName : getRepositoryNames()) { RepositoryFactory factory = getFactory(repositoryName); if (factory == null) { continue; } Repository repository = (Repository) factory.call(); repositories.put(repositoryName, repository); } }
protected void initFulltextConfiguration() { RepositoryService repositoryService = Framework.getService(RepositoryService.class); Repository repository = repositoryService.getRepository(repositoryName); fulltextConfiguration = repository.getFulltextConfiguration(); }
@Override public void activate(ComponentContext context) { super.activate(context); modelsChache = CacheBuilder.newBuilder().maximumSize(100).expireAfterWrite(10, TimeUnit.MINUTES).build(); repositoryInitializationHandler = new RouteModelsInitializator(); repositoryInitializationHandler.install(); }
/** * Must be implemented by custom initializers. * * @param session the current session */ public void initializeRepository(CoreSession session) { synchronized (RepositoryInitializationHandler.class) { if (previous != null) { previous.initializeRepository(session); } doInitializeRepository(session); } }
@Override public void run() { handler.initializeRepository(session); } }.runUnrestricted();
@Override public int getApplicationStartedOrder() { RepositoryService component = (RepositoryService) Framework.getRuntime() .getComponent( "org.nuxeo.ecm.core.repository.RepositoryServiceComponent"); return component.getApplicationStartedOrder() / 2; }
@Override public String probeState() { List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); if (repositoryNames.stream().map(this::probeRepository).anyMatch(isEqual(MIGRATION_STATE_LIFECYCLE))) { return MIGRATION_STATE_LIFECYCLE; } return MIGRATION_STATE_PROPERTY; }
/** * Gets the low-level SQL Repository of the given name. * * @param repositoryName the repository name * @return the repository * @since 5.9.5 */ public RepositoryManagement getRepository(String repositoryName) { RepositoryService repositoryService = Framework.getService(RepositoryService.class); org.nuxeo.ecm.core.model.Repository repository = repositoryService.getRepository(repositoryName); if (repository == null) { throw new RuntimeException("Unknown repository: " + repositoryName); } if (repository instanceof org.nuxeo.ecm.core.storage.sql.Repository) { // (JCA) ConnectionFactoryImpl already implements Repository return (org.nuxeo.ecm.core.storage.sql.Repository) repository; } else { throw new RuntimeException("Unknown repository class: " + repository.getClass().getName()); } }
@Override public void deactivate(ComponentContext context) { super.deactivate(context); if (repositoryInitializationHandler != null) { repositoryInitializationHandler.uninstall(); } }
protected void initializeSession(FeaturesRunner runner) { if (cleaned) { // reinitialize repositories content RepositoryService repositoryService = Framework.getService(RepositoryService.class); repositoryService.initRepositories(); cleaned = false; } CoreScope.INSTANCE.enter(); createCoreSession(); if (repositoryInit != null) { repositoryInit.populate(session); session.save(); waitForAsyncCompletion(); } // save current root acp DocumentModel root = session.getRootDocument(); rootAcp = root.getACP(); }
@Override public void activate(ComponentContext context) { // register our Repo init listener initializationHandler = new RepositoryInitializationListener(); initializationHandler.install(); factoryBindings = new FactoryBindingRegistry(); postContentCreationHandlers = new PostContentCreationHandlerRegistry(); }
@Override public String probeState() { List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); if (repositoryNames.stream().map(this::probeRepository).anyMatch(isEqual(MIGRATION_STATE_RELATION))) { return MIGRATION_STATE_RELATION; } return MIGRATION_STATE_PROPERTY; }
@Override public void run(String step, MigrationContext migrationContext) { if (!MIGRATION_STEP_RELATION_TO_PROPERTY.equals(step)) { throw new NuxeoException("Unknown migration step: " + step); } this.migrationContext = migrationContext; reportProgress("Initializing", 0, -1); // unknown List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); try { repositoryNames.forEach(this::migrateRepository); } catch (MigrationShutdownException e) { return; } }
@Override public void run(String step, MigrationContext migrationContext) { if (!MIGRATION_STEP_RELATIONS_TO_FACETS.equals(step)) { throw new NuxeoException("Unknown migration step: " + step); } this.migrationContext = migrationContext; reportProgress("Initializing", 0, -1); // unknown List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); try { repositoryNames.forEach(this::migrateRepository); } catch (MigrationShutdownException e) { return; } }
@Override public void run(String step, MigrationContext migrationContext) { if (!MIGRATION_STEP_LIFECYCLE_TO_PROPERTY.equals(step)) { throw new NuxeoException("Unknown migration step: " + step); } this.migrationContext = migrationContext; reportProgress("Initializing", 0, -1); // unknown List<String> repositoryNames = Framework.getService(RepositoryService.class).getRepositoryNames(); try { repositoryNames.forEach(this::migrateRepository); reportProgress("Done", 1, 1); } catch (MigrationShutdownException e) { return; } }