Merge "Issue #1506 fix for GFE evaluateRefSet() for non-queries" into development

Former-commit-id: 4397b9cad2c75e5d4fa3a1933394fadc8460153a
This commit is contained in:
Ron Anderson 2013-02-21 09:10:07 -06:00 committed by Gerrit Code Review
commit 297c132c49
2 changed files with 10 additions and 8 deletions

View file

@ -312,7 +312,7 @@ public interface IReferenceSetManager {
*
* @param listener
*/
public void evaluateActiveRefSet(IPythonJobListener<?> listener);
public void evaluateActiveRefSet(IPythonJobListener<ReferenceData> listener);
/**
* Force the active ref set to be re-evalutated

View file

@ -1762,13 +1762,16 @@ public class ReferenceSetManager implements IReferenceSetManager,
}
@Override
public void evaluateActiveRefSet(IPythonJobListener<?> listener) {
public void evaluateActiveRefSet(IPythonJobListener<ReferenceData> listener) {
ReferenceData active = getActiveRefSet();
if (active.isQuery()) {
// Re-evaluate the activeRefSet
evaluateQuery(active.getQuery(), listener);
} else {
// if non-query,need to fire, but do this in an else otherwise we
// will fire the listener twice for queries
listener.jobFinished(getActiveRefSet());
}
}
@Override
@ -1800,18 +1803,17 @@ public class ReferenceSetManager implements IReferenceSetManager,
*/
@Override
public void receiveMessage(final Message message) {
IPythonJobListener<Object> listener = new IPythonJobListener<Object>() {
IPythonJobListener<ReferenceData> listener = new IPythonJobListener<ReferenceData>() {
@Override
public void jobFailed(Throwable e) {
statusHandler.handle(Priority.ERROR,
"Unable to finish QueryScript job", e);
}
public void jobFinished(Object result) {
public void jobFinished(ReferenceData result) {
getActiveRefSet();
ReferenceData newRef = (ReferenceData) result;
if (!newRef.getGrid().equals(getActiveRefSet().getGrid())) {
setActiveRefSet(newRef);
if (!result.getGrid().equals(getActiveRefSet().getGrid())) {
setActiveRefSet(result);
}
};
};