Anne Wilson wrote:
Hi John,
I'm opening an existing catalog and adding a new dataset (i.e., adding
it right in, not a catref). Should I be able to add a service to that
catalog as well? In an arbitrary order?
you may need to add the service elements before you construct the dataset that
uses them.
I say that because my code is
adding the dataset to the catalog, but not the additional service
element and it's components are not showing up. There's some
[prototype-quality] code below.
Also, could you point me to the few lines of code that make an http call
that you were referring to in our meeting yesterday? I searched for
httpget and found thredds.util.net.EasySSLProtocolSocketFactory, but
that doesn't look right. Would you point me to the right code?
have a look at thredds.util.IO.readURLtoFileWithExceptions()
Anne
-----------
// This is in the class ThreddsCataloger
...
private InvCatalogImpl catalog = null; // XML acquired in the
constructor
...
public void catalog(String name, ThreddsMetadata metadata, User user) {
//ADD: metadata instanceof ThreddsMetadata
//ADD: use name to locate appropriate catalog in the hierarchy
logger.debug("name: " + name);
logger.debug("metadataLogicalName: " + metadata.getLogicalName());
// set dataset elements
InvDatasetImpl dataset = (InvDatasetImpl)
metadata.exportNativeMetadata();
logger.debug("dataset FullName: " + dataset.getFullName());
logger.debug("dataset ID: " + dataset.getID());
logger.debug("dataset Name: " + dataset.getName());
dataset.setServiceName("all"); // TODO: is "all" correct here?
logger.debug("dataset ServiceName is \"all\"");
dataset.setDataType(DataType.GRID);
logger.debug("dataset DataType is DataType.GRID");
//TODO: build this path rather than hard coding it
dataset.setUrlPath(dataset.getName());
logger.debug("datatset urlPath: " + dataset.getName());
// Set catalog elements
String serviceName = "all";
String serviceType = "DODS";
String base = "This is a test"; // this string just for debugging
String suffix = "";
String desc = "";
InvService service = new InvService(serviceName, serviceType,
base, suffix, desc);
catalog.addService(service);
catalog.addDataset(dataset);
logger.debug("added catalog named: " + catalog.getName());
save();
}