Element component = getChild(MetacardInfo.getName(version));
if (component != null) {
_metacardInfo = new MetacardInfo(component);
}
// Resource Set
Elements components = element.getChildElements(Identifier.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_identifiers.add(new Identifier(components.get(i)));
components = element.getChildElements(Title.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_titles.add(new Title(components.get(i)));
components = element.getChildElements(Subtitle.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_subtitles.add(new Subtitle(components.get(i)));
component = getChild(Description.getName(version));
if (component != null)
_description = new Description(component);
components = element.getChildElements(Language.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_languages.add(new Language(components.get(i)));
component = getChild(Dates.getName(version));
if (component != null)
_dates = new Dates(component);
component = getChild(Rights.getName(version));
if (component != null)
_rights = new Rights(component);
components = element.getChildElements(Source.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_sources.add(new Source(components.get(i)));
components = element.getChildElements(Type.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_types.add(new Type(components.get(i)));
components = element.getChildElements(Creator.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_creators.add(new Creator(components.get(i)));
components = element.getChildElements(Publisher.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_publishers.add(new Publisher(components.get(i)));
components = element.getChildElements(Contributor.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_contributors.add(new Contributor(components.get(i)));
components = element.getChildElements(PointOfContact.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_pointOfContacts.add(new PointOfContact(components.get(i)));
// Format Set
component = getChild(Format.getName(version));
if (component != null)
_format = new Format(component);
// Summary Set
components = element.getChildElements(SubjectCoverage.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_subjectCoverages.add(new SubjectCoverage(components.get(i)));
components = element.getChildElements(VirtualCoverage.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_virtualCoverages.add(new VirtualCoverage(components.get(i)));
components = element.getChildElements(TemporalCoverage.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
_temporalCoverages.add(new TemporalCoverage(components.get(i)));
components = element.getChildElements(GeospatialCoverage.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
geospatialCoverages.add(new GeospatialCoverage(components.get(i)));
components = element.getChildElements(RelatedResource.getName(version), namespace);
for (int i = 0; i < components.size(); i++)
loadRelatedResource(components.get(i));
// Resource Set again
component = getChild(ResourceManagement.getName(version));
if (component != null)
_resourceManagement = new ResourceManagement(component);
// Security Set
component = getChild(Security.getName(version));
if (component != null) {
_security = new Security(component);
// Extensible Layer
// We use the security component to locate the extensible layer. If it is null, this resource is going
// to fail validation anyhow (or we're in DDMS 5.0, which doesn't have an extensible layer, so we skip
// the extensible layer.
int index = 0;
Elements allElements = element.getChildElements();
while (allElements.get(index) != component) {
index++;
}
for (int i = index + 1; i < allElements.size(); i++)
_extensibleElements.add(new ExtensibleElement(allElements.get(i)));
}
populatedOrderedList();
validate();
}
catch (InvalidDDMSException e) {