Index: plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/tool/display/GeometryProperty.java =================================================================== --- plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/tool/display/GeometryProperty.java (revision 31532) +++ plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/tool/display/GeometryProperty.java (working copy) @@ -68,8 +68,13 @@ */ public class GeometryProperty extends AbstractPropertyValue implements PropertyValue { - - Set ids=new CopyOnWriteArraySet(); + /* + * if working with Layer based on e.g. Temporary datastores the id's of the + * layers can't be resolved -> blocking operation {@link URL#equals(Object)} + * javadoc : 'Since hosts comparison requires name resolution, this + * operation is a blocking operation.' + */ + Set ids=new CopyOnWriteArraySet(); private volatile AtomicBoolean isEvaluating=new AtomicBoolean(false); @SuppressWarnings("unchecked") @@ -81,7 +86,7 @@ } try{ - if( ids.add( object.getID() ) ){ + if( ids.add( object.getID().toString() ) ){ IGeoResource resource = object.findGeoResource(FeatureStore.class); if( resource!=null ) CatalogPlugin.getDefault().getLocalCatalog().addCatalogListener(new ObjectPropertyCatalogListener(object, resource, isEvaluating, this));