// A higher level for grouping features of a
// particular type
- Hashtable featureGroups = null;
+ Hashtable featureGroups = new Hashtable();
// This is actually an Integer held in the hashtable,
// Retrieved using the key feature type
* them. Then fires a PropertyChangeEvent on the changeSupport object.
*
*/
- synchronized void findAllFeatures()
+ void findAllFeatures()
{
- findAllFeatures(true); // add all new features as visible
- if (!firing) {
- firing=true;
- changeSupport.firePropertyChange("changeSupport",null,null);
- firing=false;
+ synchronized (firing)
+ {
+ if (firing.equals(Boolean.FALSE)) {
+ firing=Boolean.TRUE;
+ findAllFeatures(true); // add all new features as visible
+ changeSupport.firePropertyChange("changeSupport",null,null);
+ firing=Boolean.FALSE;
+ }
}
}
/**
{
if (!av.featuresDisplayed.containsKey(features[index].getType()))
{
+
if(featureGroups.containsKey(features[index].getType()))
{
boolean visible = ( (Boolean) featureGroups.get(
if(!visible)
{
- System.out.println(features[index].featureGroup
- +" not visible");
index++;
continue;
}
updateRenderOrder(allfeatures);
findingFeatures = false;
}
- protected boolean firing=false;
+ protected Boolean firing=Boolean.FALSE;
/**
* replaces the current renderOrder with the unordered features in allfeatures.
* The ordering of any types in both renderOrder and allfeatures is preserved,