f0a2bf4535ac74324cc141a850d3fa6d4f5047a0
[holmes/common.git] / holmes-actions / src / main / java / org / openo / holmes / common / utils / I18nProxy.java
1 /**\r
2  * Copyright 2017 ZTE Corporation.\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 package org.openo.holmes.common.utils;\r
17 \r
18 import com.fasterxml.jackson.core.JsonProcessingException;\r
19 import java.util.Arrays;\r
20 import java.util.Locale;\r
21 import java.util.Map;\r
22 import java.util.Optional;\r
23 import lombok.extern.slf4j.Slf4j;\r
24 import org.openo.baseservice.i18n.I18n;\r
25 \r
26 @Slf4j\r
27 public class I18nProxy {\r
28 \r
29     /*-----------------------Engine------------------------------- */\r
30     public static final String ENGINE_CONTENT_ILLEGALITY = "ENGINE_CONTENT_ILLEGALITY";\r
31     public static final String ENGINE_DEPLOY_RULE_FAILED = "ENGINE_DEPLOY_RULE_FAILED";\r
32     public static final String ENGINE_DELETE_RULE_NULL = "ENGINE_DELETE_RULE_NULL";\r
33     public static final String ENGINE_DELETE_RULE_FAILED = "ENGINE_DELETE_RULE_FAILED";\r
34     public static final String ENGINE_INSERT_RULE_CACHE_FAILED = "ENGINE_INSERT_RULE_CACHE_FAILED";\r
35     public static final String ENGINE_DELETE_RULE_FAILED_FROM_CACHE = "ENGINE_DELETE_RULE_FAILED_FROM_CACHE";\r
36     public static final String ENGINE_CONTAINS_PACKAGE = "ENGINE_CONTAINS_PACKAGE";\r
37     public static final String ENGINE_QUERY_CACHE_FAILED = "ENGINE_QUERY_CACHE_FAILED";\r
38     /*-----------------------DSA ------------------------------- */\r
39     public static final String DSA_QUERY_CURRENT_ALARM_FAILED = "DSA_QUERY_CURRENT_ALARM_FAILED";\r
40     public static final String DSA_REQUEST_ANALYSIS_FAILED = "DSA_REQUEST_ANALYSIS_ERROR";\r
41     public static final String DSA_REQUEST_EXECUTE_FAILED = "DSA_REQUEST_EXECUTE_FAILED";\r
42     public static final String DSA_HTTP_CLIENT_CLOSE_FAILED = "DSA_HTTP_CLIENT_CLOSE_FAILED";\r
43 \r
44     /*-----------------------Rule Management------------------------------- */\r
45     public static final String RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED";\r
46     public static final String RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED";\r
47     public static final String RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED";\r
48     public static final String RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED = "RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED";\r
49     public static final String RULE_MANAGEMENT_QUERY_RULE_FAILED = "RULE_MANAGEMENT_QUERY_RULE_FAILED";\r
50     public static final String RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY = "RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY";\r
51     public static final String RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY = "RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY";\r
52     public static final String RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE = "RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE";\r
53     public static final String RULE_MANAGEMENT_REPEAT_RULE_NAME = "RULE_MANAGEMENT_REPEAT_RULE_NAME";\r
54     public static final String RULE_MANAGEMENT_DATA_FORMAT_ERROR = "RULE_MANAGEMENT_DATA_FORMAT_ERROR";\r
55     public static final String RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR = "RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR";\r
56     public static final String RULE_MANAGEMENT_DB_ERROR = "RULE_MANAGEMENT_DB_ERROR";\r
57     public static final String RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR = "RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR";\r
58     public static final String RULE_MANAGEMENT_CHECK_NO_PASS = "RULE_MANAGEMENT_CHECK_NO_PASS";\r
59     public static final String RULE_MANAGEMENT_CONTENT_CANNOT_BE_EMPTY = "RULE_MANAGEMENT_CONTENT_CANNOT_BE_EMPTY";\r
60     private Optional<I18n> optional = null;\r
61 \r
62     private I18nProxy() {\r
63         optional = I18n.getInstance("correlation");\r
64     }\r
65 \r
66     private static class I18nProxyHolder {\r
67 \r
68         private static final I18nProxy INSTANCE = new I18nProxy();\r
69 \r
70         private I18nProxyHolder() {\r
71 \r
72         }\r
73     }\r
74 \r
75     public static I18nProxy getInstance() {\r
76         return I18nProxyHolder.INSTANCE;\r
77     }\r
78 \r
79     public String getValue(Locale locale, String key) {\r
80         return optional.get().getLabelValue(key, locale);\r
81     }\r
82 \r
83     public String getValueByArgs(Locale locale, String key, String[] arguments) {\r
84         return optional.get().getLabelValue(key, locale, arguments);\r
85     }\r
86 \r
87     public Map<String, String> getValue(String key) {\r
88         return optional.get().getLabelValues(key);\r
89     }\r
90 \r
91     public String jsonI18n(String key) {\r
92 \r
93         return optional.get().getCanonicalLabelValues(key);\r
94     }\r
95 \r
96     public String i18nWithArgs(String key, String[] args) {\r
97         String value = "";\r
98         try {\r
99             value = JacksonUtil.beanToJson(optional.get().getLabelValues(key, args));\r
100         } catch (JsonProcessingException e) {\r
101             log.warn("get i18n error, key is :" + key, e);\r
102         } catch (IllegalArgumentException e) {\r
103             log.warn("get i18n error IllegalArgumentException, key is :" + key + ",args is :  " + Arrays.toString(args),\r
104                 e);\r
105         }\r
106 \r
107         return value;\r
108     }\r
109 \r
110 }\r