diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-04-16 11:20:38 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2019-05-13 17:50:04 +0900 |
commit | 3b55d06b89bf64873e685c3d78fce5affbba3d17 (patch) | |
tree | 2adcff0087f4757107d2bf1e50c85ea649f04f94 /warehouse/src/main/java/app/market/web/controller/SpringBaseController.java |
Add warehouse server source code.icefish_8.99.5icefish_8.99.4icefish_8.99.3icefish_8.99.2icefish_8.99.1icefish/8.99.5icefish/8.99.4icefish/8.99.3icefish/8.99.2icefish/8.99.1halibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut_8.0.2halibut_8.0.1halibut_8.0.0halibut_7.99.3halibut_7.99.2halibut_7.99.1halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.3halibut/8.0.2halibut/8.0.1halibut/8.0.0halibut/7.99.3halibut/7.99.2halibut/7.99.18.99.58.99.48.99.38.99.28.99.18.0.68.0.58.0.48.0.38.0.28.0.18.0.07.99.37.99.27.99.1halibut
[Patch Set 2] Add ReadMe.md
Change-Id: I6ade52d2490f5ca4ba107c1a27ed6d5b39048725
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'warehouse/src/main/java/app/market/web/controller/SpringBaseController.java')
-rw-r--r-- | warehouse/src/main/java/app/market/web/controller/SpringBaseController.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/warehouse/src/main/java/app/market/web/controller/SpringBaseController.java b/warehouse/src/main/java/app/market/web/controller/SpringBaseController.java new file mode 100644 index 0000000..b85f1e6 --- /dev/null +++ b/warehouse/src/main/java/app/market/web/controller/SpringBaseController.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2019 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package app.market.web.controller; + +import java.io.IOException; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.client.HttpClientErrorException; +import org.springframework.web.servlet.HandlerExceptionResolver; +import org.springframework.web.servlet.ModelAndView; + +import app.market.utils.datatable.DataTableMap; +import app.market.utils.json.JsonMapperUtils; +import app.market.utils.json.JsonResult; + +/** + * Base Controller + * + * @author Toyota + */ +public abstract class SpringBaseController implements HandlerExceptionResolver { + + private static Logger logger = LoggerFactory.getLogger( SpringBaseController.class ); + + protected final static String MODEL_ERRORS = "modelErrors"; + + @Override + public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, + Exception ex) { + Map<String, Object> model = new HashMap<String, Object>(); + if ( ex instanceof IOException ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, "No permission to read the record of this application!" ); + return new ModelAndView( "other/500", model ); + + } else if ( ex instanceof SQLException ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, "The database error occurred." ); + return new ModelAndView( "other/500", model ); + + } else if ( ex instanceof HttpClientErrorException ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, ex.getMessage() ); + return new ModelAndView( PageMapping.LOGIN.toString(), model ); + + } else if ( ex instanceof RuntimeException ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, ex.getMessage() ); + return new ModelAndView( "other/500", model ); + + } else if ( ex instanceof NullPointerException ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, ex.getMessage() ); + return new ModelAndView( "other/500", model ); + + } else if ( ex instanceof Exception ) { + logger.info( ex.getMessage() ); + model.put( MODEL_ERRORS, "A server error occurred. Please contact the administrator!" ); + // model.put( MODEL_ERRORS, "Your session has time out, please log on again."); + return new ModelAndView( "other/500", model ); + } + return null; + } + + protected String writeDataTableMap(JsonResult jr, String draw) { + DataTableMap map = new DataTableMap( draw, null ); + map.setErrorMsg( jr.getStatus(), jr.getData().toString() ); + return JsonMapperUtils.writeValueAsString( map.getMapData() ); + } + + protected String writeErrorList(JsonResult jr, List<String> errorList) { + errorList.add( jr.getData().toString() ); + return JsonMapperUtils.getJsonString( jr.getStatus(), null, errorList ); + } + + protected String writeErrorString(JsonResult jr) { + return JsonMapperUtils.getJsonString( jr.getStatus(), null, jr.getData().toString() ); + } + +} |