private Element getServicesFromApp(ApplicationPackage applicationPackage) throws IOException, SAXException { try (Reader servicesFile = applicationPackage.getServices()) { return getServicesFromReader(servicesFile); } }
private static Element containerRootElement(ApplicationPackage applicationPackage) { Element element = XmlHelper.getDocument(applicationPackage.getServices()).getDocumentElement(); String nodeName = element.getNodeName(); if (ContainerModelBuilder.configModelIds.stream().anyMatch(id -> id.getName().equals(nodeName))) { return element; } else { return getJDiscInServices(element); } }
@Override public ApplicationConfigProducerRoot getRoot(String name, DeployState deployState, AbstractConfigProducer parent) { try { return new DomRootBuilder(name). build(deployState, parent, XmlHelper.getDocument(deployState.getApplicationPackage().getServices()).getDocumentElement()); } catch (Exception e) { throw new IllegalArgumentException(e); } }
@Override public List<ServiceCluster> getClusters(DeployState deployState, AbstractConfigProducer parent) { List<ServiceCluster> clusters = new ArrayList<>(); Document services = XmlHelper.getDocument(deployState.getApplicationPackage().getServices()); for (Element clusterSpec : XML.getChildren(services.getDocumentElement(), "cluster")) { DomServiceClusterBuilder clusterBuilder = new DomServiceClusterBuilder(clusterSpec.getAttribute("name")); clusters.add(clusterBuilder.build(deployState, parent.getRoot(), clusterSpec)); } return clusters; }
private void validate(ApplicationPackage appPkg) throws IOException { if (!validate) { return; } SchemaValidators schemaValidators = new SchemaValidators(new Version(VespaVersion.major)); if (appPkg.getHosts() != null) { schemaValidators.hostsXmlValidator().validate(appPkg.getHosts()); } schemaValidators.servicesXmlValidator().validate(appPkg.getServices()); } }