b107826853916c545224582f35a26d96ef942bf0
[dmaap/messagerouter/msgrtr.git] / src / test / java / com / att / nsa / cambria / embed / ZooKeeperLocal.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP Policy Engine\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package com.att.nsa.cambria.embed;\r
22 \r
23 import java.io.FileNotFoundException;\r
24 import java.io.IOException;\r
25 import java.util.Properties;\r
26  \r
27 import org.apache.zookeeper.server.ServerConfig;\r
28 import org.apache.zookeeper.server.ZooKeeperServerMain;\r
29 import org.apache.zookeeper.server.quorum.QuorumPeerConfig;\r
30  \r
31 public class ZooKeeperLocal {\r
32         \r
33         ZooKeeperServerMain zooKeeperServer;\r
34         \r
35         public ZooKeeperLocal(Properties zkProperties) throws FileNotFoundException, IOException{\r
36                 QuorumPeerConfig quorumConfiguration = new QuorumPeerConfig();\r
37                 try {\r
38                     quorumConfiguration.parseProperties(zkProperties);\r
39                 } catch(Exception e) {\r
40                     throw new RuntimeException(e);\r
41                 }\r
42  \r
43                 zooKeeperServer = new ZooKeeperServerMain();\r
44                 final ServerConfig configuration = new ServerConfig();\r
45                 configuration.readFrom(quorumConfiguration);\r
46                 \r
47                 \r
48                 new Thread() {\r
49                     public void run() {\r
50                         try {\r
51                             zooKeeperServer.runFromConfig(configuration);\r
52                         } catch (IOException e) {\r
53                             System.out.println("ZooKeeper Failed");\r
54                             e.printStackTrace(System.err);\r
55                         }\r
56                     }\r
57                 }.start();\r
58         }\r
59 }\r