Fix the licences check warning
[msb/apigateway.git] / msb-core / apiroute / apiroute-service / src / main / java / org / openo / msb / wrapper / consul / cache / ServiceCache.java
1 /**\r
2  * Copyright 2016 ZTE, Inc. and others.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.openo.msb.wrapper.consul.cache;\r
18 \r
19 import java.math.BigInteger;\r
20 import java.util.List;\r
21 import java.util.Map;\r
22 \r
23 import org.openo.msb.wrapper.consul.CatalogClient;\r
24 import org.openo.msb.wrapper.consul.async.ConsulResponseCallback;\r
25 \r
26 public class ServiceCache  extends ConsulCache4Map<String, Map<String, List<String>>> {\r
27     private  ServiceCache( ConsulCache4Map.CallbackConsumer<Map<String, List<String>>> callbackConsumer) {\r
28                       super(callbackConsumer);\r
29                       // TODO Auto-generated constructor stub\r
30                   }\r
31                   \r
32                   \r
33                   public static ServiceCache newCache(\r
34                       final CatalogClient catalogClient,\r
35                       final int watchSeconds){\r
36                    \r
37                      \r
38                      final CallbackConsumer<Map<String, List<String>>> callbackConsumer = new CallbackConsumer<Map<String, List<String>>>() {\r
39                          @Override\r
40                          public void consume(BigInteger index, ConsulResponseCallback<Map<String, List<String>>> callback) {\r
41                              catalogClient.getService(watchParams(index, watchSeconds),callback);\r
42                          }\r
43                      };\r
44                      \r
45                       \r
46                      return new ServiceCache(callbackConsumer);\r
47                       \r
48                       \r
49                   }\r
50 }\r