@Override public void disposeLayer() { ProductNodeGroup<VectorDataNode> productNodeGroup = reference.get(); if (productNodeGroup != null) { Product product = productNodeGroup.getProduct(); if (product != null) { product.removeProductNodeListener(pnl); } } reference.clear(); }
public VectorDataCollectionLayer(VectorDataCollectionLayerType layerType, ProductNodeGroup<VectorDataNode> vectorDataGroup, PropertySet configuration) { super(layerType, configuration, "Vector data"); Assert.notNull(vectorDataGroup, "vectorDataGroup"); reference = new WeakReference<ProductNodeGroup<VectorDataNode>>(vectorDataGroup); pnl = new PNL(); setId(ID); vectorDataGroup.getProduct().addProductNodeListener(pnl); }
private void notifyAdded(T node) { // Intended: set owner=this before notifying listeners if (takingOverNodeOwnership) { node.setOwner(this); } // notify listeners Product product = getProduct(); if (product != null) { product.fireNodeAdded(node, this); } // Intended: set modified=true is last operation setModified(true); }
private void notifyRemoved(T node) { // notify listeners Product product = getProduct(); if (product != null) { product.fireNodeRemoved(node, this); } // Intended: set owner=null after notifying listeners if (takingOverNodeOwnership && node.getOwner() == this) { node.setOwner(null); } // Intended: set modified=true is last operation setModified(true); }
assertSame(p, pinGroup.getProduct());