/dubbo-admin/src/main/java/com/alibaba/dubbo/governance/web/home/module/screen/Restful.java
Java | 92 lines | 66 code | 12 blank | 14 comment | 5 complexity | 3ff4d4295a65ba53966291028216a021 MD5 | raw file
- /*
- * Copyright 2011 Alibaba.com All right reserved. This software is the
- * confidential and proprietary information of Alibaba.com ("Confidential
- * Information"). You shall not disclose such Confidential Information and shall
- * use it only in accordance with the terms of the license agreement you entered
- * into with Alibaba.com.
- */
- package com.alibaba.dubbo.governance.web.home.module.screen;
- import java.util.Map;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.beans.factory.annotation.Autowired;
- import com.alibaba.dubbo.common.URL;
- import com.alibaba.dubbo.governance.web.util.WebConstants;
- import com.alibaba.dubbo.registry.common.domain.User;
- import com.alibaba.fastjson.JSON;
- public abstract class Restful {
- @Autowired
- private HttpServletResponse response;
-
- @Autowired
- HttpServletRequest request;
-
- // @Autowired
- // RegistryValidator registryService;
- protected String role = null;
- protected String operator = null;
- protected User currentUser = null;
- protected String operatorAddress = null;
- protected URL url = null;
- public void execute(Map<String, Object> context) throws Exception {
- Result result = new Result();
- if(request.getParameter("url")!=null){
- url = URL.valueOf(URL.decode(request.getParameter("url")));
- }
- if (context.get(WebConstants.CURRENT_USER_KEY) != null) {
- User user = (User) context.get(WebConstants.CURRENT_USER_KEY);
- currentUser = user;
- operator = user.getUsername();
- role = user.getRole();
- context.put(WebConstants.CURRENT_USER_KEY, user);
- }
- operatorAddress = (String) context.get("clientid");
- if(operatorAddress==null || operatorAddress.isEmpty()){
- operatorAddress = (String) context.get("request.remoteHost");
- }
- context.put("operator", operator);
- context.put("operatorAddress", operatorAddress);
- String jsonResult = null;
- try {
- result = doExecute(context);
- result.setStatus("OK");
- } catch (IllegalArgumentException t) {
- result.setStatus("ERROR");
- result.setCode(3);
- result.setMessage(t.getMessage());
- }
- // catch (InvalidRequestException t) {
- // result.setStatus("ERROR");
- // result.setCode(2);
- // result.setMessage(t.getMessage());
- // }
- catch (Throwable t){
- result.setStatus("ERROR");
- result.setCode(1);
- result.setMessage(t.getMessage());
- }
- response.setContentType("application/javascript");
- ServletOutputStream os = response.getOutputStream();
- try {
- jsonResult = JSON.toJSONString(result);
- os.print(jsonResult);
- } catch (Exception e) {
- response.setStatus(500);
- os.print(e.getMessage());
- }finally{
- os.flush();
- }
- }
- protected abstract Result doExecute(Map<String, Object> context) throws Exception;
- }