Example usage for org.springframework.web.context.request.async DeferredResult setResult

List of usage examples for org.springframework.web.context.request.async DeferredResult setResult

Introduction

In this page you can find the example usage for org.springframework.web.context.request.async DeferredResult setResult.

Prototype

public boolean setResult(T result) 

Source Link

Document

Set the value for the DeferredResult and handle it.

Usage

From source file:com.fengduo.bee.commons.result.JsonResultUtils.java

public static <T> DeferredResult<IResult> deferredResult(GenericsResult<T> iResult) {
    DeferredResult<IResult> dr = new DeferredResult<IResult>();
    dr.setResult(iResult);
    return dr;/*ww w .j  a v  a2  s .c om*/
}

From source file:com.sishuok.chapter3.web.controller.DeferredResultController.java

@Scheduled(fixedRate = 5L * 1000)
public void pushMessage() {
    Iterator<DeferredResult> iter = queue.iterator();
    while (iter.hasNext()) {
        DeferredResult<String> result = iter.next();
        result.setResult("new message : " + System.currentTimeMillis());
    }//from w  ww  .ja v a2s  . c  om
}

From source file:org.hydroponics.web.controller.CalibreAsyncController.java

@Override
public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
    if (propertyChangeEvent.getNewValue() instanceof CalibreEvent) {
        logger.fine("updateResults:" + this.calibreRequests.size());
        Map<String, Object> map = new HashMap<String, Object>();
        map.put(Constants.EVENT, Constants.CALIBRE);
        map.put(Constants.TEMPERATURE, ((CalibreEvent) propertyChangeEvent.getNewValue()).getTemperature());
        map.put(Constants.HUMIDITY, ((CalibreEvent) propertyChangeEvent.getNewValue()).getHumidity());
        map.put(Constants.CURRENT, ((CalibreEvent) propertyChangeEvent.getNewValue()).getCurrent());
        map.put(Constants.MOISTURE, ((CalibreEvent) propertyChangeEvent.getNewValue()).getMoisture());
        for (DeferredResult<Map<String, Object>> calibreRequest : calibreRequests) {
            calibreRequest.setResult(map);
        }/*from  ww w .ja v  a2  s. co m*/
    } else if (propertyChangeEvent.getNewValue() instanceof SwitchEvent) {
        logger.fine("updateResults:" + this.calibreRequests.size());
        Map<String, Object> map = new HashMap<String, Object>();
        map.put(Constants.EVENT, Constants.SWITCHES);
        map.put(Constants.NUMBER, ((SwitchEvent) propertyChangeEvent.getNewValue()).getNumber());
        map.put(Constants.STATUS, ((SwitchEvent) propertyChangeEvent.getNewValue()).getStatus());
        map.put(Constants.MODE, ((SwitchEvent) propertyChangeEvent.getNewValue()).getMode());
        for (DeferredResult<Map<String, Object>> calibreRequest : calibreRequests) {
            calibreRequest.setResult(map);
        }
    } else {
        logger.info("unknown event: " + propertyChangeEvent.getNewValue());
    }
}

From source file:com.mmj.app.web.controller.comet.CometController.java

@RequestMapping(value = "/comet/connect", headers = "accept=*/*", produces = "application/json", method = RequestMethod.POST)
@ResponseBody/*from www  .j ava2  s . c o  m*/
public DeferredResult<String> connect() {
    DeferredResult<String> deferredResult = new DeferredResult<String>();
    ConnectVO connectVO = new ConnectVO("62", true, "/meta/connect");
    deferredResult.setResult(new Gson().toJson(Arrays.asList(connectVO)));
    try {
        Thread.sleep(30000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return deferredResult;
}

From source file:com.sishuok.chapter3.web.controller.chat.MsgPublisher.java

/**
 *
 * @param receiver  ??/* w ww .j  av  a 2s.c o m*/
 * @param sender
 * @param data
 */
private void publish(String receiver, String sender, String data) {
    if (receiver == null || receiver.trim().length() == 0) {//??
        for (String loginUsername : usernameToDeferredResultMap.keySet()) {
            if (loginUsername.equals(sender)) {
                continue;
            }
            Queue<DeferredResult<String>> queue = usernameToDeferredResultMap.get(loginUsername);
            if (queue != null) {
                Iterator<DeferredResult<String>> iter = queue.iterator();
                while (iter.hasNext()) {
                    DeferredResult<String> result = iter.next();
                    try {
                        result.setResult(data);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    iter.remove();
                }
            }
        }
    } else { //??
        Queue<DeferredResult<String>> queue = usernameToDeferredResultMap.get(receiver);
        if (queue != null) {
            Iterator<DeferredResult<String>> iter = queue.iterator();
            while (iter.hasNext()) {
                DeferredResult result = iter.next();
                try {
                    result.setResult(data);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                iter.remove();
            }
        }
    }
}

From source file:spring.travel.site.controllers.LoginController.java

@RequestMapping(method = RequestMethod.POST)
@ResponseBody//from www  .ja va  2  s . c o  m
public DeferredResult<ResponseEntity<User>> login(@Valid @RequestBody LoginData loginData) {
    DeferredResult<ResponseEntity<User>> result = new DeferredResult<>();
    loginService.login(loginData).whenComplete((user, t) -> {
        if (user.isPresent()) {
            try {
                result.setResult(success(user.get()));
            } catch (AuthException ae) {
                result.setErrorResult(new UserNotFoundException());
            }
        } else {
            result.setErrorResult(new UserNotFoundException());
        }
    });
    return result;
}

From source file:com.kixeye.chassis.transport.websocket.responseconverter.ListenableFutureResponseConverter.java

@Override
public DeferredResult<Object> convertToDeferredResult(Object response) {
    final DeferredResult<Object> deferredResult = new DeferredResult<>();
    Futures.addCallback((ListenableFuture<?>) response, new FutureCallback<Object>() {
        @Override/*  w  w w  .  j a v a  2  s.c o  m*/
        public void onSuccess(@Nullable Object result) {
            deferredResult.setResult(result);
        }

        @Override
        public void onFailure(Throwable t) {
            deferredResult.setErrorResult(t);
        }
    });
    return deferredResult;
}

From source file:com.mmj.app.web.controller.upload.FileUploadController.java

@RequestMapping(value = "/ajaxUpload.htm", headers = "accept=*/*", produces = "application/json", method = RequestMethod.POST)
@ResponseBody//  www  .  j  a  v  a 2  s . c  o m
public DeferredResult<String> ajaxUpload(String a, @RequestParam("upload") MultipartFile... files) {
    DeferredResult<String> deferredResult = new DeferredResult<String>();
    if (files == null || files.length <= 0) {
        deferredResult.setResult("-1");
        return deferredResult;
    }
    List<String> urlList = new ArrayList<String>();
    for (int i = 0; i < files.length; i++) {
        Result result = fileService.createFilePath(files[i]);
        if (result == null || result.getData() == null) {
            deferredResult.setResult("IOError");
            return deferredResult;
        }
        urlList.add((String) result.getData());
    }
    deferredResult.setResult(urlList.get(0));
    return deferredResult;
}

From source file:org.mimacom.sample.integration.patterns.user.service.web.HystrixUserController.java

@ResponseStatus(CREATED)
@RequestMapping(method = POST)//www.jav  a 2  s. c  o  m
public DeferredResult<String> createUser(@RequestBody User user,
        @RequestParam(required = false) Integer waitTime) {
    DeferredResult<String> deferredResult = new DeferredResult<>();

    this.userRepository.put(user.getId(), user);

    if (waitTime == null) {
        this.hystrixSearchServiceIntegration.indexUser(user, ignored -> deferredResult.setResult(user.getId()),
                deferredResult::setErrorResult);
    } else {
        this.hystrixSearchServiceIntegration.indexUserSlow(user, waitTime,
                ignored -> deferredResult.setResult(user.getId()), deferredResult::setErrorResult);
    }

    return deferredResult;
}

From source file:com.mmj.app.web.controller.upload.FileUploadController.java

@RequestMapping(value = "/uploadPublish.htm", headers = "accept=*/*", produces = "application/json", method = RequestMethod.POST)
@ResponseBody/*from  ww  w . jav  a  2s.  c  o m*/
public DeferredResult<String> uploadPublish(String a, @RequestParam("files") MultipartFile... files) {
    DeferredResult<String> deferredResult = new DeferredResult<String>();
    if (files == null || files.length <= 0) {
        deferredResult.setResult(returnFileResult("1", "", ""));
        return deferredResult;
    }
    List<String> urlList = new ArrayList<String>();
    for (int i = 0; i < files.length; i++) {
        Result result = fileService.createFilePath(files[i]);
        if (result == null || result.getData() == null) {
            deferredResult.setResult(returnFileResult("1", "", ""));
            return deferredResult;
        }
        urlList.add((String) result.getData());
    }
    String imgUrl = urlList.get(0);
    String[] urlArray = StringUtils.split(imgUrl, ".");
    imgUrl = urlArray[0] + "=420x185" + "." + urlArray[1];
    deferredResult.setResult(returnFileResult("0", "?", imgUrl));
    return deferredResult;
}