Changeset 440:d7faaedf2de8
- Timestamp:
- 09/18/09 17:12:26 (4 years ago)
- Author:
- tgambet
- Branch:
- default
- convert_revision:
- svn:cdcfb263-7567-472c-a848-e2c2df3466e7/trunk@441
- Message:
-
new way to get the response from RequestThread?, unicornCall is no longer passed as a parameter
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r427
|
r440
|
|
| 1 | | // $Id: UnicornCall.java,v 1.17 2009-09-18 15:01:43 tgambet Exp $ |
| | 1 | // $Id: UnicornCall.java,v 1.18 2009-09-18 17:12:26 tgambet Exp $ |
| 2 | 2 | // Author: Jean-Guilhem Rouel |
| 3 | 3 | // (c) COPYRIGHT MIT, ERCIM and Keio, 2006. |
| … |
… |
|
| 435 | 435 | final Map<String, Request> requests = requestList.getRequestMap(); |
| 436 | 436 | // Creation of the thread list |
| 437 | | ArrayList<Thread> threadsList = new ArrayList<Thread>(); |
| | 437 | ArrayList<RequestThread> threadsList = new ArrayList<RequestThread>(); |
| 438 | 438 | |
| 439 | 439 | for (final String obsID : requests.keySet()) { |
| 440 | 440 | // send request to observer |
| 441 | | threadsList.add(new RequestThread(mapOfResponse, requests |
| 442 | | .get(obsID), obsID, this)); |
| | 441 | //threadsList.add(new RequestThread(mapOfResponse, requests.get(obsID), obsID, this)); |
| | 442 | threadsList.add(new RequestThread(requests.get(obsID), obsID, this.getLang())); |
| 443 | 443 | logger.debug("Request " + requests.get(obsID) + " added to threadsList"); |
| 444 | 444 | } |
| … |
… |
|
| 451 | 451 | try { |
| 452 | 452 | threadsList.get(i).join(); |
| | 453 | Response resp = threadsList.get(i).getResponse(); |
| | 454 | mapOfResponse.put(threadsList.get(i).getObsID(), resp); |
| | 455 | String outputParamName = Framework.mapOfObserver.get(resp.getObserverId()).getParamOutputName(); |
| | 456 | resp.setRequestUri(resp.getRequestUri().replaceAll("&?" + outputParamName + "=[^&]*", "")); |
| 453 | 457 | logger.debug("Request " + ((RequestThread)threadsList.get(i)).getObsID() + " terminated"); |
| 454 | 458 | } catch (InterruptedException e) { |
| … |
… |
|
| 499 | 503 | |
| 500 | 504 | public LinkedHashMap<String, Response> getObservationList() { |
| 501 | | if (observationMap == null) { |
| 502 | | observationMap = new LinkedHashMap<String, Response>(); |
| 503 | | |
| 504 | | for (Group group : aTask.getOutput().getGroupList()) { |
| 505 | | if (!group.isSetType()) { |
| 506 | | for (String observerId : group.getObservationList()) { |
| 507 | | if(mapOfResponse.get(observerId) != null) { |
| 508 | | observationMap.put(observerId, mapOfResponse.get(observerId)); |
| | 505 | if (observationMap != null) |
| | 506 | return observationMap; |
| | 507 | |
| | 508 | observationMap = new LinkedHashMap<String, Response>(); |
| | 509 | for (Group group : aTask.getOutput().getGroupList()) { |
| | 510 | if (!group.isSetType()) { |
| | 511 | for (String observerId : group.getObservationList()) { |
| | 512 | if(mapOfResponse.get(observerId) != null) { |
| | 513 | observationMap.put(observerId, mapOfResponse.get(observerId)); |
| | 514 | } |
| | 515 | } |
| | 516 | } else { |
| | 517 | switch (group.getType()) { |
| | 518 | case FIRSTPASSED: |
| | 519 | String passedId = null; |
| | 520 | for (String observerId : group.getObservationList()) { |
| | 521 | if (mapOfResponse.get(observerId) == null) { |
| | 522 | logger.error("unknown observer id (" + observerId + ") in output group of task: " + this.getTask().getID()); |
| | 523 | continue; |
| | 524 | } |
| | 525 | if (mapOfResponse.get(observerId).isPassed()) { |
| | 526 | passedId = observerId; |
| | 527 | break; |
| | 528 | } |
| 509 | 529 | } |
| 510 | | } |
| 511 | | } else { |
| 512 | | switch (group.getType()) { |
| 513 | | case FIRSTPASSED: |
| 514 | | String passedId = null; |
| 515 | | for (String observerId : group.getObservationList()) { |
| 516 | | if (mapOfResponse.get(observerId) == null) { |
| 517 | | logger.error("unknown observer id (" + observerId + ") in output group of task: " + this.getTask().getID()); |
| 518 | | continue; |
| 519 | | } |
| 520 | | if (mapOfResponse.get(observerId).isPassed()) { |
| 521 | | passedId = observerId; |
| 522 | | break; |
| 523 | | } |
| 524 | | } |
| 525 | | if (passedId == null) { |
| 526 | | Response resp = mapOfResponse.get(group.getObservationList().get(0)); |
| 527 | | if (resp != null) |
| 528 | | observationMap.put(group.getObservationList().get(0), resp); |
| 529 | | } |
| 530 | | else |
| 531 | | observationMap.put(passedId, mapOfResponse.get(passedId)); |
| 532 | | } |
| | 530 | if (passedId == null) { |
| | 531 | Response resp = mapOfResponse.get(group.getObservationList().get(0)); |
| | 532 | if (resp != null) |
| | 533 | observationMap.put(group.getObservationList().get(0), resp); |
| | 534 | } |
| | 535 | else |
| | 536 | observationMap.put(passedId, mapOfResponse.get(passedId)); |
| 533 | 537 | } |
| 534 | 538 | } |
| … |
… |
|
| 601 | 605 | */ |
| 602 | 606 | public void setLang(final String sLang) { |
| 603 | | logger.debug("setLang(" + sLang + ")"); |
| 604 | 607 | this.sLang = sLang; |
| 605 | 608 | } |