@Override @Deprecated public void setProjectDir(String projectDir) { createProject(projectDir); }
configDirs.add(new ConfigDir(getHubConfigDir().toFile())); configDirs.add(new ConfigDir(getUserConfigDir().toFile())); config.setConfigDirs(configDirs); File f = getHubProject().getProjectDir().resolve(configDir.getBaseDir().toString()).normalize().toAbsolutePath().toFile(); configDirs.add(new ConfigDir(f));
applyFinalConnectionSettingsToMlGradleDefaultRestSettings(config); config.setForestCounts(forestCounts); initializeConfigDirs(config); initializeModulePaths(config); config.setSchemasPath(getUserSchemasDir().toString()); Map<String, String> customTokens = getCustomTokens(config, config.getCustomTokens()); String version = getJarVersion(); customTokens.put("%%mlHubVersion%%", version);
@PostConstruct public void wireClient() { this._manageClient = hubConfig.getManageClient(); this._adminManager = hubConfig.getAdminManager(); this._databaseManager = new DatabaseManager(_manageClient); this._serverManager = new ServerManager(_manageClient); }
private void hydrateAppConfigs(com.marklogic.mgmt.util.PropertySource propertySource) { if (appConfig != null) { setAppConfig(appConfig); setAppConfig(new DefaultAppConfigFactory(propertySource).newAppConfig()); setAdminConfig(adminConfig); setAdminConfig(new DefaultAdminConfigFactory(propertySource).newAdminConfig()); setAdminManager(adminManager); setAdminManager(new AdminManager(getAdminConfig())); setManageConfig(manageConfig); setManageConfig(new DefaultManageConfigFactory(propertySource).newManageConfig()); setManageClient(manageClient); setManageClient(new ManageClient(getManageConfig()));
private Map<String, String> getCustomTokens() { AppConfig appConfig = getAppConfig(); if (appConfig == null) { appConfig = new DefaultAppConfigFactory().newAppConfig(); } return getCustomTokens(appConfig, appConfig.getCustomTokens()); }
private void certInit() { adminHubConfig.setMlUsername(user); adminHubConfig.setMlPassword(password); appConfig = adminHubConfig.getAppConfig(); manageConfig = ((HubConfigImpl)adminHubConfig).getManageConfig(); manageClient = ((HubConfigImpl)adminHubConfig).getManageClient(); adminConfig = ((HubConfigImpl)adminHubConfig).getAdminConfig(); adminHubConfig.setSslHostnameVerifier(DatabaseKind.STAGING,SSLHostnameVerifier.ANY); adminHubConfig.setSslHostnameVerifier(DatabaseKind.FINAL,SSLHostnameVerifier.ANY); adminHubConfig.setSslHostnameVerifier(DatabaseKind.JOB,SSLHostnameVerifier.ANY); adminHubConfig.setCertFile(DatabaseKind.STAGING, "src/test/resources/ssl/client-hub-admin-user.p12"); adminHubConfig.setCertFile(DatabaseKind.FINAL, "src/test/resources/ssl/client-hub-admin-user.p12"); adminHubConfig.setSslContext(DatabaseKind.JOB,datahubadmincertContext); manageConfig.setSslContext(datahubadmincertContext); adminConfig.setSslContext(datahubadmincertContext); adminHubConfig.setTrustManager(DatabaseKind.STAGING, (X509TrustManager) tmf.getTrustManagers()[0]); adminHubConfig.setCertPass(DatabaseKind.STAGING, "abcd"); adminHubConfig.setTrustManager(DatabaseKind.FINAL, (X509TrustManager) tmf.getTrustManagers()[0]); adminHubConfig.setCertPass(DatabaseKind.FINAL, "abcd"); adminHubConfig.setAppConfig(appConfig); ((HubConfigImpl)adminHubConfig).setManageConfig(manageConfig); manageClient.setManageConfig(manageConfig); ((HubConfigImpl)adminHubConfig).setManageClient(manageClient);
@Test public void applyFinalConnectionPropsToDefaultRestConnection() { AppConfig config = adminHubConfig.getAppConfig(); String port = adminHubConfig.getPort(DatabaseKind.FINAL).toString(); String authMethod = adminHubConfig.getAuthMethod(DatabaseKind.FINAL); String certFile = adminHubConfig.getCertFile(DatabaseKind.FINAL); String certPassword = adminHubConfig.getCertPassword(DatabaseKind.FINAL); String extName = adminHubConfig.getExternalName(DatabaseKind.FINAL); Boolean sslMethod = adminHubConfig.getSimpleSsl(DatabaseKind.FINAL); adminHubConfig.refreshProject(props, true); config = adminHubConfig.getAppConfig(); adminHubConfig.setSslContext(DatabaseKind.FINAL, null); adminHubConfig.setSslHostnameVerifier(DatabaseKind.FINAL, null); adminHubConfig.setTrustManager(DatabaseKind.FINAL, null);
@Test public void testSerialize() throws IOException { hubConfig.createProject(PROJECT_PATH); hubConfig.initHubProject(); hubConfig.refreshProject(); " \"customForestPath\": \"forests\",\n" + " \"modulePermissions\": \"rest-reader,read,rest-writer,insert,rest-writer,update,rest-extension-user,execute,data-hub-role,read,data-hub-role,execute\",\n" + " \"jarVersion\": \"" + hubConfig.getJarVersion() + "\"\n" + "}"; assertThat(jsonSerializer.write(hubConfig)).isEqualToJson(expected);
String version = hubConfig.getJarVersion(); text = Pattern.compile("^(\\s*)id\\s+['\"]com.marklogic.ml-data-hub['\"]\\s+version.+$", Pattern.MULTILINE).matcher(text).replaceAll("$1id 'com.marklogic.ml-data-hub' version '" + version + "'"); text = Pattern.compile("^(\\s*)compile.+marklogic-data-hub.+$", Pattern.MULTILINE).matcher(text).replaceAll("$1compile 'com.marklogic:marklogic-data-hub:" + version + "'"); FileUtils.writeStringToFile(buildGradle, text); hubConfig.getHubSecurityDir().resolve("roles").resolve("data-hub-user.json").toFile().delete(); hubConfig.initHubProject(); hubConfig.getHubProject().upgradeProject(); List<String> flows = flowManager.updateLegacyFlows(currentVersion); if (updatedFlows != null) { runInDatabase("cts:uris(\"\", (), cts:and-not-query(cts:collection-query(\"hub-core-module\"), cts:document-query((\"/com.marklogic.hub/config.sjs\", \"/com.marklogic.hub/config.xqy\")))) ! xdmp:document-delete(.)", hubConfig.getDbName(DatabaseKind.MODULES)); this.hubInstallModules(); this.loadUserModules();
@Test public void upgrade300To403ToCurrentVersion() throws Exception { Assumptions.assumeFalse((isCertAuth() || isSslRun())); final String projectPath = "build/tmp/upgrade-projects/dhf403from300"; final File projectDir = Paths.get(projectPath).toFile(); FileUtils.deleteDirectory(projectDir); FileUtils.copyDirectory(Paths.get("src/test/resources/upgrade-projects/dhf403from300").toFile(), projectDir); resetProperties(); adminHubConfig.createProject(projectDir.getAbsolutePath()); adminHubConfig.refreshProject(); dataHub.upgradeHub(); // Confirm that the directories have been backed up Assertions.assertTrue(adminHubConfig.getHubProject().getProjectDir() .resolve("src/main/hub-internal-config-4.0.3").toFile().exists()); //This file should be present in backed up location Assertions.assertTrue(adminHubConfig.getHubProject().getProjectDir() .resolve("src/main/hub-internal-config-4.0.3/databases/final-database.json").toFile().exists()); Assertions.assertTrue(adminHubConfig.getHubProject().getProjectDir() .resolve("src/main/ml-config-4.0.3").toFile().exists()); } }
adminHubConfig.createProject(PROJECT_PATH); if(! project.isInitialized()) { adminHubConfig.initHubProject(); modMgr = stagingModulesClient.newDocumentManager(); adminHubConfig.refreshProject(); if(isSslRun() || isCertAuth()) { certInit();
securityCommands.add(new DeployUsersCommand()); deployer = new SimpleAppDeployer(hubConfig.getManageClient(), hubConfig.getAdminManager()); deployer.setCommands(securityCommands); secAppConfig = hubConfig.getAppConfig(); secAppConfig.setConfigDir(new ConfigDir(hubConfig.getUserConfigDir().toFile()));
/** * Installs the data hub configuration and server-side config files into MarkLogic * * @param listener - the callback method to receive status updates */ @Override public void install(HubDeployStatusListener listener) { if (!hubConfig.getHubProject().isInitialized()) { initProject(); } logger.warn("Installing the Data Hub into MarkLogic"); // in AWS setting this fails... // for now putting in try/catch try { AppConfig roleConfig = hubConfig.getAppConfig(); SimpleAppDeployer roleDeployer = new SimpleAppDeployer(getManageClient(), getAdminManager()); roleDeployer.setCommands(getSecurityCommandList()); roleDeployer.deploy(roleConfig); } catch (HttpServerErrorException e) { if (e.getStatusCode() == HttpStatus.SERVICE_UNAVAILABLE) { logger.warn("No manage client for security installs. Assuming DHS provisioning already threre"); } else { throw new DataHubConfigurationException(e); } } HubAppDeployer finalDeployer = new HubAppDeployer(getManageClient(), getAdminManager(), listener, hubConfig.newStagingClient()); finalDeployer.setCommands(buildListOfCommands()); finalDeployer.deploy(hubConfig.getAppConfig()); }
deleteProp("mlLoadBalancerHosts"); resetProperties(); adminHubConfig.refreshProject(); assertNull(getHubFlowRunnerConfig().getLoadBalancerHost()); adminHubConfig.refreshProject(); assertTrue(getHubFlowRunnerConfig().getIsHostLoadBalancer()); writeProp("mlLoadBalancerHosts", getHubFlowRunnerConfig().getHost()); resetProperties(); adminHubConfig.refreshProject(); assertEquals(getHubFlowRunnerConfig().getHost(), getHubFlowRunnerConfig().getLoadBalancerHost()); adminHubConfig.refreshProject(); deleteProp("mlIsHostLoadBalancer"); resetProperties(); adminHubConfig.refreshProject(); assertFalse(getHubFlowRunnerConfig().getIsHostLoadBalancer());
protected void installHubModules() { logger.debug("Installing Data Hub Framework modules into MarkLogic"); List<Command> commands = new ArrayList<>(); commands.add(loadHubModulesCommand); SimpleAppDeployer deployer = new SimpleAppDeployer(adminHubConfig.getManageClient(), adminHubConfig.getAdminManager()); deployer.setCommands(commands); deployer.deploy(adminHubConfig.getAppConfig()); }
/** * Need to initialize every module path as being relative to the current project directory. * * @param config */ protected void initializeModulePaths(AppConfig config) { List<String> modulePaths = new ArrayList<>(); Path projectDir = getHubProject().getProjectDir(); for (String modulePath : config.getModulePaths()) { modulePaths.add(projectDir.resolve(modulePath).normalize().toAbsolutePath().toString()); } config.setModulePaths(modulePaths); if (logger.isInfoEnabled()) { logger.info("Module paths: " + modulePaths); } }
@AfterEach public void cleanup() { resetProperties(); createProjectDir(); adminHubConfig.createProject(PROJECT_PATH); adminHubConfig.refreshProject(); }
HubProject project = getHubAdminConfig().getHubProject(); getHubAdminConfig().refreshProject(); setupDone = true;
@BeforeEach public void setUp() { createProjectDir(); hubConfig.initHubProject(); hubConfig.refreshProject();