/* * Copyright (c) 2012, 2013 Eike Stepper (Berlin, Germany) and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.server.security; import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.internal.security.SecurityManager; import org.eclipse.emf.cdo.server.spi.security.AnnotationHandler; import org.eclipse.emf.cdo.server.spi.security.HomeFolderHandler; import org.eclipse.emf.cdo.server.spi.security.SecurityManagerFactory; import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.container.IPluginContainer; /** * Static factory methods for creating {@link ISecurityManager security managers}. * * @author Eike Stepper */ public final class SecurityManagerUtil { private SecurityManagerUtil() { } /** * @since 4.3 */ public static ISecurityManager getSecurityManager(IRepository repository) { return SecurityManager.get(repository); } public static ISecurityManager createSecurityManager(String realmPath) { return createSecurityManager(realmPath, IPluginContainer.INSTANCE); } public static ISecurityManager createSecurityManager(String realmPath, IManagedContainer container) { return new org.eclipse.emf.cdo.server.internal.security.SecurityManager(realmPath, container); } @SuppressWarnings("deprecation") public static void prepareContainer(IManagedContainer container) { container.registerFactory(new SecurityManagerFactory.Default()); container.registerFactory(new SecurityManagerFactory.Annotation()); container.registerFactory(new AnnotationHandler.Factory()); container.registerFactory(new HomeFolderHandler.Factory()); } }