6e9a844776597e76986be62ad4326fe891b109ba
[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_DELETE_RULE_FAILED = "RULE_MANAGEMENT_DELETE_RULE_FAILED";\r
47     public static final String RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED";\r
48     public static final String RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED";\r
49     public static final String RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED = "RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED";\r
50     public static final String RULE_MANAGEMENT_QUERY_RULE_FAILED = "RULE_MANAGEMENT_QUERY_RULE_FAILED";\r
51     public static final String RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY = "RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY";\r
52     public static final String RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY = "RULE_MANAGEMENT_RULE_NAME_CANNOT_BE_EMPTY";\r
53     public static final String RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE = "RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE";\r
54     public static final String RULE_MANAGEMENT_REPEAT_RULE_NAME = "RULE_MANAGEMENT_REPEAT_RULE_NAME";\r
55     public static final String RULE_MANAGEMENT_DATA_FORMAT_ERROR = "RULE_MANAGEMENT_DATA_FORMAT_ERROR";\r
56     public static final String RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR = "RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR";\r
57     public static final String RULE_MANAGEMENT_DB_ERROR = "RULE_MANAGEMENT_DB_ERROR";\r
58     public static final String RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR = "RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR";\r
59     public static final String RULE_MANAGEMENT_CHECK_NO_PASS = "RULE_MANAGEMENT_CHECK_NO_PASS";\r
60     public static final String RULE_MANAGEMENT_CONTENT_CANNOT_BE_EMPTY = "RULE_MANAGEMENT_CONTENT_CANNOT_BE_EMPTY";\r
61     private Optional<I18n> optional = null;\r
62 \r
63     private I18nProxy() {\r
64         optional = I18n.getInstance("correlation");\r
65     }\r
66 \r
67     private static class I18nProxyHolder {\r
68 \r
69         private static final I18nProxy INSTANCE = new I18nProxy();\r
70 \r
71         private I18nProxyHolder() {\r
72 \r
73         }\r
74     }\r
75 \r
76     public static I18nProxy getInstance() {\r
77         return I18nProxyHolder.INSTANCE;\r
78     }\r
79 \r
80     public String getValue(Locale locale, String key) {\r
81         return optional.get().getLabelValue(key, locale);\r
82     }\r
83 \r
84     public String getValueByArgs(Locale locale, String key, String[] arguments) {\r
85         return optional.get().getLabelValue(key, locale, arguments);\r
86     }\r
87 \r
88     public Map<String, String> getValue(String key) {\r
89         return optional.get().getLabelValues(key);\r
90     }\r
91 \r
92     public String jsonI18n(String key) {\r
93 \r
94         return optional.get().getCanonicalLabelValues(key);\r
95     }\r
96 \r
97     public String i18nWithArgs(String key, String[] args) {\r
98         String value = "";\r
99         try {\r
100             value = JacksonUtil.beanToJson(optional.get().getLabelValues(key, args));\r
101         } catch (JsonProcessingException e) {\r
102             log.warn("get i18n error, key is :" + key, e);\r
103         } catch (IllegalArgumentException e) {\r
104             log.warn("get i18n error IllegalArgumentException, key is :" + key + ",args is :  " + Arrays.toString(args),\r
105                 e);\r
106         }\r
107 \r
108         return value;\r
109     }\r
110 \r
111 }\r