Issue #1506 fix for GFE evaluateRefSet() for non-queries

Change-Id: I342ce5c5e0449b7f5f4f81865705ed55aff3c5a7

Former-commit-id: 2f9911c6e28fd3b5617353ec8de80c16f812c508
This commit is contained in:
Matt Nash 2013-02-21 08:59:28 -06:00
parent f1ad632c3f
commit 2001d916ac
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);
}
};
};