--- /dev/null
+/**\r
+ * Copyright 2017 ZTE Corporation.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.openo.holmes.common.utils;\r
+\r
+import java.util.Locale;\r
+import javax.ws.rs.WebApplicationException;\r
+import javax.ws.rs.core.MediaType;\r
+import javax.ws.rs.core.Response;\r
+\r
+public class ExceptionUtil {\r
+\r
+ private static final int EXCEPTION_CODE = 499;\r
+\r
+ private ExceptionUtil() {\r
+\r
+ }\r
+\r
+ public static String getExceptionMsg(Locale locale, Exception e) {\r
+ return I18nProxy.getInstance().getValue(locale, e.getMessage());\r
+ }\r
+\r
+ public static String getExceptionMsgByArgs(Locale locale, Exception e, String[] obj) {\r
+ return I18nProxy.getInstance().getValueByArgs(locale, e.getMessage(), obj);\r
+ }\r
+\r
+ public static WebApplicationException buildExceptionResponse(String message) {\r
+ Response response = Response.status(EXCEPTION_CODE).entity(message).type(MediaType.TEXT_PLAIN).build();\r
+ return new WebApplicationException(response);\r
+ }\r
+}\r
--- /dev/null
+/**\r
+ * Copyright 2017 ZTE Corporation.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.openo.holmes.common.utils;\r
+\r
+import com.fasterxml.jackson.core.JsonProcessingException;\r
+import java.util.Arrays;\r
+import java.util.Locale;\r
+import java.util.Map;\r
+import java.util.Optional;\r
+import lombok.extern.slf4j.Slf4j;\r
+import org.openo.baseservice.i18n.I18n;\r
+\r
+@Slf4j\r
+public class I18nProxy {\r
+\r
+ /*-----------------------Engine------------------------------- */\r
+ public static final String ENGINE_CONTENT_ILLEGALITY = "ENGINE_CONTENT_ILLEGALITY";\r
+ public static final String ENGINE_DEPLOY_RULE_FAILED = "ENGINE_DEPLOY_RULE_FAILED";\r
+ public static final String ENGINE_DELETE_RULE_NULL = "ENGINE_DELETE_RULE_NULL";\r
+ public static final String ENGINE_DELETE_RULE_FAILED = "ENGINE_DELETE_RULE_FAILED";\r
+ public static final String ENGINE_INSERT_RULE_CACHE_FAILED = "ENGINE_INSERT_RULE_CACHE_FAILED";\r
+ public static final String ENGINE_DELETE_RULE_FAILED_FROM_CACHE = "ENGINE_DELETE_RULE_FAILED_FROM_CACHE";\r
+ public static final String ENGINE_CONTAINS_PACKAGE = "ENGINE_CONTAINS_PACKAGE";\r
+ public static final String ENGINE_QUERY_CACHE_FAILED = "ENGINE_QUERY_CACHE_FAILED";\r
+ /*-----------------------Rule Management------------------------------- */\r
+ public static final String RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED";\r
+ public static final String RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED = "RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED";\r
+ public static final String RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED = "RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED";\r
+ public static final String RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED = "RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED";\r
+ public static final String RULE_MANAGEMENT_QUERY_RULE_FAILED = "RULE_MANAGEMENT_QUERY_RULE_FAILED";\r
+ public static final String RULE_MANAGEMENT_CREATE_RULE_FAILED = "RULE_MANAGEMENT_CREATE_RULE_FAILED";\r
+ public static final String RULE_MANAGEMENT_DELETE_RULE_FAILED = "RULE_MANAGEMENT_DELETE_RULE_FAILED";\r
+ public static final String RULE_MANAGEMENT_UPDATE_RULE_FAILED = "RULE_MANAGEMENT_UPDATE_RULE_FAILED";\r
+ public static final String RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY = "RULE_MANAGEMENT_REQUEST_OBJECT_IS_EMPTY";\r
+ public static final String RULE_MANAGEMENT_RULE_NAME_IS_EMPTY = "RULE_MANAGEMENT_RULE_NAME_IS_EMPTY";\r
+ public static final String RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE = "RULE_MANAGEMENT_RULE_NOT_EXIST_DATABASE";\r
+ public static final String RULE_MANAGEMENT_UNKNOWN_EXCEPTION = "RULE_MANAGEMENT_UNKNOWN_EXCEPTION";\r
+ public static final String RULE_MANAGEMENT_REPEAT_RULE_NAME = "RULE_MANAGEMENT_REPEAT_RULE_NAME";\r
+ public static final String RULE_MANAGEMENT_DATA_FORMAT_ERROR = "RULE_MANAGEMENT_DATA_FORMAT_ERROR";\r
+ public static final String RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR = "RULE_MANAGEMENT_PARAMETER_ENABLED_ERROR";\r
+\r
+ private Optional<I18n> optional = null;\r
+\r
+ private I18nProxy() {\r
+ optional = I18n.getInstance("correlation");\r
+ }\r
+\r
+ private static class I18nProxyHolder {\r
+\r
+ private static final I18nProxy INSTANCE = new I18nProxy();\r
+\r
+ private I18nProxyHolder() {\r
+\r
+ }\r
+ }\r
+\r
+ public static I18nProxy getInstance() {\r
+ return I18nProxyHolder.INSTANCE;\r
+ }\r
+\r
+ public String getValue(Locale locale, String key) {\r
+ return optional.get().getLabelValue(key, locale);\r
+ }\r
+\r
+ public String getValueByArgs(Locale locale, String key, String[] arguments) {\r
+ return optional.get().getLabelValue(key, locale, arguments);\r
+ }\r
+\r
+ public Map<String, String> getValue(String key) {\r
+ return optional.get().getLabelValues(key);\r
+ }\r
+\r
+ public String jsonI18n(String key) {\r
+\r
+ return optional.get().getCanonicalLabelValues(key);\r
+ }\r
+\r
+ public String i18nWithArgs(String key, String[] args) {\r
+ String value = "";\r
+ try {\r
+ value = JacksonUtil.beanToJson(optional.get().getLabelValues(key, args));\r
+ } catch (JsonProcessingException e) {\r
+ log.info("get i18n error, key is :" + key, e);\r
+ } catch (IllegalArgumentException e) {\r
+ log.info("get i18n error IllegalArgumentException, key is :" + key + ",args is : " + Arrays.toString(args),\r
+ e);\r
+ }\r
+\r
+ return value;\r
+ }\r
+\r
+}\r