/** * Initiates a retrieval of the model referenced by this placemark. Once the resource is retrieved * and loaded, this calls <code>{@link #setColladaRoot(ColladaRoot)}</code> to specify this link's * new network resource, and sends an <code> * {@link gov.nasa.worldwind.avlist.AVKey#RETRIEVAL_STATE_SUCCESSFUL}</code> property change event * to this link's property change listeners. * * <p>This does nothing if this <code>KMLNetworkLink</code> has no <code>KMLLink</code>. * * @param address the address of the resource to retrieve */ protected void retrieveModel(String address) throws IOException, XMLStreamException { Object o = this.parent.getRoot().resolveReference(address); if (o == null) return; ColladaRoot root = ColladaRoot.createAndParse(o); if (root == null) return; this.setColladaRoot(root); this.resourceRetrievalTime.set(System.currentTimeMillis()); this.parent.getRoot().requestRedraw(); }
/** * {@inheritDoc} Overridden to set the link expiration time based on HTTP headers after the image * has been retrieved. */ protected BasicWWTexture initializeTexture() { BasicWWTexture ret = super.initializeTexture(); if (this.texture != null) { this.iconRetrievalTime = System.currentTimeMillis(); String path = this.resolveHref(); // Query the KMLRoot for the expiration time. long expiration = this.parent.getRoot().getExpiration(path); // Set the Icon's expiration. This has no effect if the refreshMode is not onExpire. this.parent.getIcon().setExpirationTime(expiration); } return ret; }