private VespaModel createVespaModel() { try { DeployState deployState = new DeployState.Builder() .applicationPackage(FilesApplicationPackage.fromFile(path.toFile(), /* Include source files */ true)) .deployLogger((level, s) -> { }) .build(); return new VespaModel(new NullConfigModelRegistry(), deployState); } catch (IOException | SAXException e) { throw new IllegalArgumentException("Error creating application from '" + path + "'", e); } }
private SearchDocumentModel createSearchDocumentModel(RankProfileRegistry rankProfileRegistry, DeployLogger logger, QueryProfiles queryProfiles, ValidationParameters validationParameters) { Collection<NamedReader> readers = applicationPackage.getSearchDefinitions(); Map<String, String> names = new LinkedHashMap<>(); SearchBuilder builder = new SearchBuilder(applicationPackage, rankProfileRegistry, queryProfiles.getRegistry()); for (NamedReader reader : readers) { try { String readerName = reader.getName(); String searchName = builder.importReader(reader, readerName, logger); String sdName = stripSuffix(readerName, ApplicationPackage.SD_NAME_SUFFIX); names.put(searchName, sdName); if (!sdName.equals(searchName)) { throw new IllegalArgumentException("Search definition file name ('" + sdName + "') and name of " + "search element ('" + searchName + "') are not equal for file '" + readerName + "'"); } } catch (ParseException e) { throw new IllegalArgumentException("Could not parse search definition file '" + getSearchDefinitionRelativePath(reader.getName()) + "': " + e.getMessage(), e); } catch (IOException e) { throw new IllegalArgumentException("Could not read search definition file '" + getSearchDefinitionRelativePath(reader.getName()) + "': " + e.getMessage(), e); } finally { closeIgnoreException(reader.getReader()); } } builder.build(! validationParameters.ignoreValidationErrors(), logger); return SearchDocumentModel.fromBuilderAndNames(builder, names); }
public DeployState build(ValidationParameters validationParameters) { RankProfileRegistry rankProfileRegistry = new RankProfileRegistry(); QueryProfiles queryProfiles = new QueryProfilesBuilder().build(applicationPackage); SemanticRules semanticRules = new SemanticRuleBuilder().build(applicationPackage); SearchDocumentModel searchDocumentModel = createSearchDocumentModel(rankProfileRegistry, logger, queryProfiles, validationParameters); return new DeployState(applicationPackage, searchDocumentModel, rankProfileRegistry, fileRegistry, logger, hostProvisioner, properties, version, permanentApplicationPackage, configDefinitionRepo, previousModel, rotations, modelImporters, zone, queryProfiles, semanticRules, now, wantedNodeVespaVersion); }
private DeployState createDeployState(ModelContext modelContext, ValidationParameters validationParameters) { DeployState.Builder builder = new DeployState.Builder() .applicationPackage(modelContext.applicationPackage()) .deployLogger(modelContext.deployLogger()) .configDefinitionRepo(modelContext.configDefinitionRepo()) .fileRegistry(modelContext.getFileRegistry()) .permanentApplicationPackage(modelContext.permanentApplicationPackage()) .properties(modelContext.properties()) .vespaVersion(version()) .modelHostProvisioner(createHostProvisioner(modelContext)) .rotations(modelContext.properties().rotations()) .modelImporters(modelImporters) .zone(zone) .now(clock.instant()) .wantedNodeVespaVersion(modelContext.wantedNodeVespaVersion()); modelContext.previousModel().ifPresent(builder::previousModel); return builder.build(validationParameters); }
public static DeployState createTestState(ApplicationPackage applicationPackage) { return new Builder().applicationPackage(applicationPackage).build(); }
public MockRoot(String rootConfigId, ApplicationPackage applicationPackage) { this(rootConfigId, new DeployState.Builder().applicationPackage(applicationPackage).build()); }
/** * Build a model from an application package. * * @param applicationPackage Any type of application package. * @return a producer root capable of answering getConfig requests. */ public TestRoot buildModel(ApplicationPackage applicationPackage) { return buildModel(new DeployState.Builder().applicationPackage(applicationPackage).build()); }
/** * Constructs vespa model using config given in app * * @param app the application to create a model from * @param configModelRegistry a registry of config model "main" classes which may be used * to instantiate config models */ public VespaModel(ApplicationPackage app, ConfigModelRegistry configModelRegistry) throws IOException, SAXException { this(configModelRegistry, new DeployState.Builder().applicationPackage(app).build()); }
public DeployState build() { return build(new ValidationParameters()); }
private static DeployState createDeployState(ApplicationPackage applicationPackage, FileRegistry fileRegistry, DeployLogger logger) { DeployState.Builder builder = new DeployState.Builder() .applicationPackage(applicationPackage) .fileRegistry(fileRegistry) .deployLogger(logger) .configDefinitionRepo(configDefinitionRepo); /* Temporarily disable until we know how status.html is updated for config servers/controllers if (isConfigServer()) builder.properties(new DeployProperties.Builder() .hostedVespa(new CloudConfigInstallVariables().hostedVespa().orElse(Boolean.FALSE)) .build()); */ return builder.build(); }