Changeset 4477 for trunk/gli


Ignore:
Timestamp:
2003-06-04T15:30:42+12:00 (21 years ago)
Author:
jmt12
Message:

2030105: Once again I was blodging the AWTEvent Dispatch Thread so that a ProgressMonitor wasn't getting any time to paint itself.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/msm/MetadataSetManager.java

    r4440 r4477  
    557557    if(mds_new != null && mds_new.getDocument() != null) {
    558558        String family = mds_new.getNamespace();
    559                 // 2. See if we have another metadata set of the same family
    560                 // already. If so retrieve it and merge.
     559        // 2. See if we have another metadata set of the same family
     560        // already. If so retrieve it and merge.
    561561        boolean matched = false;
    562562        for(Enumeration keys = mds_hashtable.keys();
     
    567567            MetadataSet mds_cur = (MetadataSet)mds_hashtable.get(key);
    568568            //ystem.err.println("Merging " + mds_new + " into " + mds_cur);
    569             mergeMDS(mds_cur, mds_new);
     569            MergeTask task = new MergeTask(mds_cur, mds_new);
     570            task.start();
    570571        }
    571572        }
     
    574575        mds_hashtable.put(family, mds_new);
    575576        }
    576                 // Fire setChanged() message.
    577         fireSetChanged(mds_new);
     577        // Fire setChanged() message.
     578        //fireSetChanged(mds_new);
    578579        return true;
    579580    }
    580581    // else we cancelled for some reason.
    581582    return false;
     583    }
     584
     585    private class MergeTask
     586    extends Thread {
     587    private MetadataSet mds_cur;
     588    private MetadataSet mds_new;
     589    MergeTask(MetadataSet mds_cur, MetadataSet mds_new) {
     590        this.mds_cur = mds_cur;
     591        this.mds_new = mds_new;
     592    }
     593    public void run() {
     594        mergeMDS(mds_cur, mds_new);
     595        fireSetChanged(mds_new);
     596    }
    582597    }
    583598
     
    627642    // For a super quick check for equivelent trees, we compare the last changed values.
    628643    if(mds_cur.getLastChanged().equals(mds_new.getLastChanged())) {
    629                 // Exactly the same. Nothing to change.
     644        // Exactly the same. Nothing to change.
    630645        return true;
    631646    }
Note: See TracChangeset for help on using the changeset viewer.