2 * Copyright (c) 2014, 2015 Hewlett-Packard Development Company, L.P. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.aaa.idm;
11 import java.sql.Connection;
12 import java.sql.DriverManager;
13 import java.util.Arrays;
14 import java.util.HashSet;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
20 import javax.ws.rs.core.Application;
22 import org.opendaylight.aaa.idm.rest.DomainHandler;
23 import org.opendaylight.aaa.idm.rest.RoleHandler;
24 import org.opendaylight.aaa.idm.rest.UserHandler;
25 import org.opendaylight.aaa.idm.rest.VersionHandler;
26 import org.opendaylight.aaa.idm.config.IdmLightConfig;
27 import org.opendaylight.aaa.idm.persistence.StoreBuilder;
28 import org.opendaylight.aaa.idm.persistence.StoreException;
31 * A JAX-RS application for IdmLight.
36 public class IdmLightApplication extends Application {
37 private static Logger logger = LoggerFactory.getLogger(IdmLightApplication.class);
38 private static IdmLightConfig config = new IdmLightConfig();
40 public IdmLightApplication() {
41 StoreBuilder storeBuilder = new StoreBuilder();
42 if (!storeBuilder.exists()) {
47 public static IdmLightConfig getConfig() {
51 public static Connection getConnection(Connection existingConnection)
52 throws StoreException {
53 Connection connection = existingConnection;
55 if (existingConnection == null || existingConnection.isClosed()) {
57 connection = DriverManager.getConnection(config.getDbPath(),
58 config.getDbUser(), config.getDbPwd());
60 } catch (Exception e) {
61 throw new StoreException("Cannot connect to database server " + e);
68 public Set<Class<?>> getClasses() {
69 return new HashSet<Class<?>>(Arrays.asList(VersionHandler.class,