private void startRepository() { IPluginContainer container = IPluginContainer.INSTANCE; logger.info("Starting Repository"); // initialize acceptor if (acceptor == null) { acceptor = JVMUtil.getAcceptor(container, "default"); } if (repository == null) { repository = createRepository(); CDOServerUtil.addRepository(container, repository); logger.info("Repository Started"); } }
public IRepository[] configure(File configFile) throws ParserConfigurationException, SAXException, IOException, CoreException { if (TRACER.isEnabled()) { TRACER.trace("Configuring CDO server from " + configFile.getAbsolutePath()); //$NON-NLS-1$ } List<IRepository> repositories = new ArrayList<IRepository>(); Document document = getDocument(configFile); NodeList elements = document.getElementsByTagName("repository"); //$NON-NLS-1$ for (int i = 0; i < elements.getLength(); i++) { Element repositoryConfig = (Element)elements.item(i); IRepository repository = getRepository(repositoryConfig); repositories.add(repository); if (container != null) { CDOServerUtil.addRepository(container, repository); } } return repositories.toArray(new IRepository[repositories.size()]); }
repository.setProperties(props); CDOServerUtil.addRepository(container, repository); return repository;
protected void importXML(CommandInterpreter interpreter) throws Exception { String syntax = "Syntax: cdo import <repository-name> <import-file>"; InternalRepository repository = getRepository(interpreter, syntax); String importFile = nextArgument(interpreter, syntax); InputStream in = null; try { in = new FileInputStream(importFile); LifecycleUtil.deactivate(repository); CDOServerImporter.XML importer = new CDOServerImporter.XML(repository); importer.importRepository(in); IManagedContainer container = CDOServerApplication.getContainer(); CDOServerUtil.addRepository(container, repository); interpreter.println("Repository imported"); } finally { IOUtil.close(in); } }
private org.eclipse.emf.cdo.internal.server.Repository createRemoteRepository(CDORepository localRepository, RepositoryConfiguration configuration) { final IDBConnectionProvider connectionProvider = CDORepository.createConnectionProvider(configuration.getDatasourceProperties(localRepository.getUuid())); final IDBStore dbStore = CDORepository.createDBStore(connectionProvider, configuration); final IIDHandler idHandler = new org.eclipse.emf.cdo.server.internal.db.LongIDHandler((org.eclipse.emf.cdo.server.internal.db.DBStore) dbStore); idHandler.setLastObjectID(CDOIDUtil.createLong(((long) localRepository.getNamespaceId()) << 56L)); ((org.eclipse.emf.cdo.server.internal.db.DBStore) dbStore).setIdHandler(idHandler); final Map<String, String> properties = new HashMap<String, String>(); properties.put(IRepository.Props.OVERRIDE_UUID, localRepository.getUuid()); properties.put(IRepository.Props.SUPPORTING_AUDITS, "true"); properties.put(IRepository.Props.SUPPORTING_BRANCHES, "true"); final org.eclipse.emf.cdo.internal.server.Repository repository = (org.eclipse.emf.cdo.internal.server.Repository) CDOServerUtils.createRepository( "replicated"+localRepository.getUuid(), dbStore, properties, FilteringErrorLoggingStrategy.INSTANCE); // disable revision cache by using a NOOP instance repository.setRevisionManager((InternalCDORevisionManager) CDORevisionUtil.createRevisionManager(CDORevisionCache.NOOP)); repository.setInitialPackages(localRepository.getEPackages()); // start the remote repository CDOServerUtil.addRepository(IPluginContainer.INSTANCE, repository); return repository; }
@Override protected void indicating(ExtendedDataInputStream in) throws Exception { boolean master = in.readBoolean(); if (master) { agent.setMaster(); } else { String connectorDescription = in.readString(); String repositoryName = in.readString(); agent.setBackup(connectorDescription, repositoryName); } IRepository repository = agent.getRepository(); if (!repository.isActive()) { IManagedContainer container = agent.getContainer(); CDOServerUtil.addRepository(container, repository); } } };
@SuppressWarnings("restriction") @Override protected void doActivate() throws Exception { final IDBConnectionProvider connectionProvider = createConnectionProvider(configuration.getDatasourceProperties(getUuid())); final IDBStore dbStore = createDBStore(connectionProvider, configuration); final IIDHandler idHandler = new org.eclipse.emf.cdo.server.internal.db.LongIDHandler((org.eclipse.emf.cdo.server.internal.db.DBStore) dbStore); idHandler.setLastObjectID(CDOIDUtil.createLong(((long) getNamespaceId()) << 56L)); ((org.eclipse.emf.cdo.server.internal.db.DBStore) dbStore).setIdHandler(idHandler); repository = createRepository(IPluginContainer.INSTANCE, dbStore); setReaderPoolCapacity(configuration.getReaderPoolCapacity()); setWriterPoolCapacity(configuration.getWriterPoolCapacity()); // disable revision cache by using a NOOP instance if (!configuration.isRevisionCacheEnabled()) { repository.setRevisionManager((InternalCDORevisionManager) CDORevisionUtil.createRevisionManager(CDORevisionCache.NOOP)); } //set packages to create tables in DB repository.setInitialPackages(getEPackages()); CDOServerUtil.addRepository(IPluginContainer.INSTANCE, repository); // Start the CDO repository Preconditions.checkState(getUuid().equals(repository.getName()), "Repository name mismatch. Expected: " + getUuid() + " was: " + repository.getName()); LOGGER.info(this + " successfully started."); repository.addHandler(changeManager); }