@Override public void run() { if (!repositoryHandler.isLoaderWorking()) { Logger.info( StringUtils.getString( "Automatically refreshing repository... (", new DateTime().toString(), ')')); repositoryHandler.refreshRepository(); } }
@Test public void getDependencyFromDbDependency() { final DbArtifact dbArtifact = new DbArtifact(); dbArtifact.setGroupId("org.axway.grapes"); dbArtifact.setArtifactId("artifact1"); dbArtifact.setVersion("1.0.0-SNAPSHOT"); dbArtifact.setExtension("jar"); final DbDependency dbDependency = new DbDependency(); dbDependency.setScope(Scope.RUNTIME); dbDependency.setTarget(dbArtifact.getGavc()); final RepositoryHandler repositoryHandler = mock(RepositoryHandler.class); when(repositoryHandler.getArtifact(dbArtifact.getGavc())).thenReturn(dbArtifact); final ModelMapper modelMapper = new ModelMapper(repositoryHandler); final Dependency dependency = modelMapper.getDependency(dbDependency, "sourceName", "123456"); assertEquals(dbDependency.getTarget(), dependency.getTarget().getGavc()); assertEquals(dbDependency.getScope(), dependency.getScope()); assertEquals("sourceName", dependency.getSourceName()); assertEquals("123456", dependency.getSourceVersion()); }
public void run() { String dbChangeId; String dbPluginType; // Order db changes by create date before starting to run them ArrayList<String> unsortedDbChangeIds = new ArrayList<String>(); ArrayList<String> sortedDbChangeIds = new ArrayList<String>(); for (int i = 0; i < dbChanges.length(); i++) { unsortedDbChangeIds.add(dbChanges.getString(i)); } sortedDbChangeIds = repHandler.getDbChangesSortedByCreateDate(unsortedDbChangeIds); for (int i = 0; i < sortedDbChangeIds.size(); i++) { dbChangeId = sortedDbChangeIds.get(i); String dbChangeScript = repHandler.getDatabaseChangeScript(dbChangeId); dbPluginType = repHandler.getDBPluginTypeForDbChange(dbChangeId); DBService dbService = DBService.getDBService(dbPluginType); HashMap<String, String> globalParameters = null; try { String dbcadServerHostname = InetAddress.getLocalHost().getHostName(); globalParameters = repHandler.getDBPluginConfig(dbPluginType, dbcadServerHostname); } catch (UnknownHostException e) { e.printStackTrace(); } ArrayList<DeploymentDetails> deploymentDetailsList = repHandler.getDeployableDatabaseInstancesAndSchemaNamesForLobIdAndDbChange( dbChangeId, lobId); for (DeploymentDetails deploymentDetails : deploymentDetailsList) { if (!repHandler.isDbChangeDeployed( dbChangeId, deploymentDetails.getDbGroupId(), deploymentDetails.getDbInstance().getDbId())) { if (!markOnly) { repHandler.markDbChangeDeploymentStatus( dbChangeId, deploymentDetails.getDbGroupId(), deploymentDetails.getDbInstance().getDbId(), DBCADController.RUNNING_STATUS); HashMap<String, HashMap<String, String>> parameterAttributes = dbService.getInstanceParameterAttributes(); String dbSchemaName = deploymentDetails.getSchemaName(); Cipher aes = null; try { aes = Cipher.getInstance("AES"); // SecretKeySpec k = new SecretKeySpec(DBCADController.ENCRYPTION_KEY.getBytes(), // "AES"); aes.init(Cipher.DECRYPT_MODE, DBCADController.ENC_KEY); HashMap<String, String> pluginInstanceParameters = deploymentDetails.getDbInstance().getPluginInstanceParameters(); for (Map.Entry<String, String> entry : pluginInstanceParameters.entrySet()) { String key = entry.getKey(); if (parameterAttributes.get(key) != null && parameterAttributes.get(key).get("ENCRYPTED").equals("TRUE")) { BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); textEncryptor.setPassword(DBCADController.ENCRYPTION_KEY); String encTextValue = (String) pluginInstanceParameters.get(key); pluginInstanceParameters.put(key, textEncryptor.decrypt(encTextValue)); } } } catch (Exception e) { e.printStackTrace(); } dbService.initializeDBService(deploymentDetails.getDbInstance(), globalParameters); String output; AtomicInteger exitCode = new AtomicInteger(0); output = dbService.runScript(dbChangeScript, dbSchemaName, exitCode); repHandler.addDeploymentLog(dbChangeId, deploymentDetails.getDbInstance(), output); dbService.close(); if (exitCode.intValue() == 0) { repHandler.markDbChangeDeploymentStatus( dbChangeId, deploymentDetails.getDbGroupId(), deploymentDetails.getDbInstance().getDbId(), DBCADController.OK_STATUS); } else { repHandler.markDbChangeDeploymentStatus( dbChangeId, deploymentDetails.getDbGroupId(), deploymentDetails.getDbInstance().getDbId(), DBCADController.ERROR_STATUS); } } else { repHandler.addDeploymentLog( dbChangeId, deploymentDetails.getDbInstance(), "-- MARK ONLY --"); repHandler.markDbChangeDeploymentStatus( dbChangeId, deploymentDetails.getDbGroupId(), deploymentDetails.getDbInstance().getDbId(), DBCADController.OK_STATUS); } } } } }
@Test public void getModule() { final DbModule dbModule = new DbModule(); dbModule.setName("root"); dbModule.setVersion("1.0.0-SNAPSHOT"); final DbArtifact dbArtifact = new DbArtifact(); dbArtifact.setGroupId("com.axway.root"); dbArtifact.setArtifactId("artifact1"); dbArtifact.setVersion("1.0.0-SNAPSHOT"); dbArtifact.setClassifier("win"); dbArtifact.setType("component"); dbArtifact.setExtension("jar"); dbModule.addArtifact(dbArtifact); final DbArtifact dbThirdParty = new DbArtifact(); dbThirdParty.setGroupId("org.apache"); dbThirdParty.setArtifactId("all"); dbThirdParty.setVersion("6.8.0-5426"); dbThirdParty.setType("jar"); dbThirdParty.setExtension("jar"); dbModule.addDependency(dbThirdParty.getGavc(), Scope.COMPILE); final DbModule dbSubmodule = new DbModule(); dbSubmodule.setSubmodule(true); dbSubmodule.setName("sub1"); dbSubmodule.setVersion("1.0.0-SNAPSHOT"); final DbArtifact dbArtifact2 = new DbArtifact(); dbArtifact2.setGroupId("com.axway.root.sub1"); dbArtifact2.setArtifactId("artifactSub1"); dbArtifact2.setVersion("1.0.0-SNAPSHOT"); dbArtifact2.setExtension("jar"); dbSubmodule.addArtifact(dbArtifact2); final DbArtifact dbThirdParty2 = new DbArtifact(); dbThirdParty2.setGroupId("org.lol"); dbThirdParty2.setArtifactId("all"); dbThirdParty2.setVersion("1.2.3-4"); dbThirdParty2.setExtension("jar"); dbSubmodule.addDependency(dbThirdParty2.getGavc(), Scope.PROVIDED); dbModule.addSubmodule(dbSubmodule); final RepositoryHandler repositoryHandler = mock(RepositoryHandler.class); when(repositoryHandler.getArtifact(dbArtifact.getGavc())).thenReturn(dbArtifact); when(repositoryHandler.getArtifact(dbArtifact2.getGavc())).thenReturn(dbArtifact2); when(repositoryHandler.getArtifact(dbThirdParty.getGavc())).thenReturn(dbThirdParty); when(repositoryHandler.getArtifact(dbThirdParty2.getGavc())).thenReturn(dbThirdParty2); final ModelMapper modelMapper = new ModelMapper(repositoryHandler); final Module module = modelMapper.getModule(dbModule); assertEquals(dbModule.getName(), module.getName()); assertEquals(dbModule.getVersion(), module.getVersion()); assertEquals(1, module.getArtifacts().size()); assertEquals(dbArtifact.getGavc(), module.getArtifacts().iterator().next().getGavc()); assertEquals(1, module.getDependencies().size()); final Dependency thirdParty = module.getDependencies().iterator().next(); assertEquals(dbThirdParty.getGavc(), thirdParty.getTarget().getGavc()); assertEquals(Scope.COMPILE, thirdParty.getScope()); assertEquals(dbModule.getName(), thirdParty.getSourceName()); assertEquals(dbModule.getVersion(), thirdParty.getSourceVersion()); assertEquals(1, module.getSubmodules().size()); final Module submodule = module.getSubmodules().iterator().next(); assertEquals(dbSubmodule.getName(), submodule.getName()); assertEquals(dbSubmodule.getVersion(), submodule.getVersion()); assertEquals(1, submodule.getArtifacts().size()); assertEquals(dbArtifact2.getGavc(), submodule.getArtifacts().iterator().next().getGavc()); assertEquals(1, submodule.getDependencies().size()); assertEquals( dbThirdParty2.getGavc(), submodule.getDependencies().iterator().next().getTarget().getGavc()); assertEquals( dbSubmodule.getName(), submodule.getDependencies().iterator().next().getSourceName()); assertEquals( dbSubmodule.getVersion(), submodule.getDependencies().iterator().next().getSourceVersion()); assertEquals(Scope.PROVIDED, submodule.getDependencies().iterator().next().getScope()); }