@Override public Collection<DBKey> getProjects(String company) { final Collection<DBKey> result = new ArrayList<>(); final Collection<String> databaseNames; if (!StringUtils.isBlank(company)) { databaseNames = Collections2 .filter(client.getAetsDBNames(), Predicates.containsPattern("^" + company)); } else { databaseNames = client.getAetsDBNames(); } for (String dbName : databaseNames) { String[] companyAndProject = StringUtils.split(dbName, MongoDBClient.DB_NAME_SEPARATOR); result.add(new SimpleDBKey(companyAndProject[0], companyAndProject[1])); } return result; }
public static DBKey getDBKeyFromRequest(HttpServletRequest req) throws ValidatorException { String company = req.getParameter(Helper.COMPANY_PARAM); String project = req.getParameter(Helper.PROJECT_PARAM); SimpleDBKey dbKey = new SimpleDBKey(company, project); dbKey.validate(null); return dbKey; }
@Override public Collection<DBKey> getProjects(String company) { final Collection<DBKey> result = new ArrayList<>(); final Collection<String> databaseNames; if (!StringUtils.isBlank(company)) { databaseNames = Collections2 .filter(client.getAetsDBNames(), Predicates.containsPattern("^" + company)); } else { databaseNames = client.getAetsDBNames(); } for (String dbName : databaseNames) { String[] companyAndProject = StringUtils.split(dbName, MongoDBClient.DB_NAME_SEPARATOR); result.add(new SimpleDBKey(companyAndProject[0], companyAndProject[1])); } return result; }
@Override public DBKey apply(String dbName) { return new SimpleDBKey(MongoDBClient.getCompanyNameFromDbName(dbName), MongoDBClient.getProjectNameFromDbName(dbName)); } };
@Override public Suite saveSuite(Suite suite) throws StorageException, ValidatorException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(suite)); suite.validate(null); LOGGER.debug("Saving suite {} to metadata collection.", suite); metadata.insertOne(Document.parse(suite.toJson())); return getSuite(new SimpleDBKey(suite), suite.getCorrelationId()); }
@Override public Suite saveSuite(Suite suite) throws StorageException, ValidatorException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(suite)); suite.validate(null); LOGGER.debug("Saving suite {} to metadata collection.", suite); metadata.insertOne(Document.parse(suite.toJson())); return getSuite(new SimpleDBKey(suite), suite.getCorrelationId()); }
private boolean isNewestSuite(Suite suite) throws StorageException { final Suite latestSuite = getLatestRun(new SimpleDBKey(suite), suite.getName()); return latestSuite == null || suite.getVersion().equals(latestSuite.getVersion()); }
private boolean isNewestSuite(Suite suite) throws StorageException { final Suite latestSuite = getLatestRun(new SimpleDBKey(suite), suite.getName()); return latestSuite == null || suite.getVersion().equals(latestSuite.getVersion()); }
@Override public Suite replaceSuite(Suite oldSuite, Suite newSuite) throws StorageException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(oldSuite)); LOGGER.debug("Replacing suite {} in metadata collection.", oldSuite); metadata.findOneAndReplace(Document.parse(oldSuite.toJson()),Document.parse(newSuite.toJson())); return newSuite; }
@Override public Suite replaceSuite(Suite oldSuite, Suite newSuite) throws StorageException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(oldSuite)); LOGGER.debug("Replacing suite {} in metadata collection.", oldSuite); metadata.findOneAndReplace(Document.parse(oldSuite.toJson()),Document.parse(newSuite.toJson())); return newSuite; }
/** * Updates suite in .metadata collection only if older version exist. Also updates version and * timestamp of a suite. * * @param suite new suite version to save * @return updated suite. */ @Override public Suite updateSuite(Suite suite) throws StorageException, ValidatorException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(suite)); LOGGER.debug("Updating suite {} in metadata collection.", suite); if (isNewestSuite(suite)) { suite.incrementVersion(); suite.setRunTimestamp(new Suite.Timestamp(System.currentTimeMillis())); suite.validate(null); metadata.insertOne(Document.parse(suite.toJson())); } else { throw new StorageException("Trying to update old version or not existing suite."); } return getSuite(new SimpleDBKey(suite), suite.getCorrelationId()); }
/** * Updates suite in .metadata collection only if older version exist. Also updates version and * timestamp of a suite. * * @param suite new suite version to save * @return updated suite. */ @Override public Suite updateSuite(Suite suite) throws StorageException, ValidatorException { MongoCollection<Document> metadata = getMetadataCollection(new SimpleDBKey(suite)); LOGGER.debug("Updating suite {} in metadata collection.", suite); if (isNewestSuite(suite)) { suite.incrementVersion(); suite.setRunTimestamp(new Suite.Timestamp(System.currentTimeMillis())); suite.validate(null); metadata.insertOne(Document.parse(suite.toJson())); } else { throw new StorageException("Trying to update old version or not existing suite."); } return getSuite(new SimpleDBKey(suite), suite.getCorrelationId()); }
private String getPatternCorrelationId(TestSuiteRun testSuiteRun) { String result = testSuiteRun.getPatternCorrelationId(); if (result == null && testSuiteRun.getPatternSuite() != null) { SimpleDBKey dbKey = new SimpleDBKey(testSuiteRun.getCompany(), testSuiteRun.getProject()); try { Suite patternSuite = metadataDao.getLatestRun(dbKey, testSuiteRun.getPatternSuite()); result = patternSuite != null ? patternSuite.getCorrelationId() : null; } catch (StorageException e) { LOG.error("Error while retrieving suite from mongo db: '{}', suiteName: '{}'", dbKey, testSuiteRun.getPatternSuite(), e); } } return result; }
private String getPatternCorrelationId(TestSuiteRun testSuiteRun) { String result = testSuiteRun.getPatternCorrelationId(); if (result == null && testSuiteRun.getPatternSuite() != null) { SimpleDBKey dbKey = new SimpleDBKey(testSuiteRun.getCompany(), testSuiteRun.getProject()); try { Suite patternSuite = metadataDao.getLatestRun(dbKey, testSuiteRun.getPatternSuite()); result = patternSuite != null ? patternSuite.getCorrelationId() : null; } catch (StorageException e) { LOG.error("Error while retrieving suite from mongo db: '{}', suiteName: '{}'", dbKey, testSuiteRun.getPatternSuite(), e); } } return result; }
private boolean isPatternInDatabase(TestSuiteRun testSuiteRun) { boolean valid = false; SimpleDBKey dbKey = new SimpleDBKey(testSuiteRun.getCompany(), testSuiteRun.getProject()); String patternCorrelationId = testSuiteRun.getPatternCorrelationId(); String patternSuiteName = testSuiteRun.getPatternSuite(); if (patternCorrelationId == null && patternSuiteName == null) { valid = true; } else { Suite patternSuite = null; try { if (patternCorrelationId != null) { patternSuite = metadataDAO.getSuite(dbKey, patternCorrelationId); } else { patternSuite = metadataDAO.getLatestRun(dbKey, patternSuiteName); } } catch (StorageException se) { LOG.error( "error while retrieving suite from mongo db: '{}', correlationId: '{}', suiteName: '{}'", dbKey, patternCorrelationId, patternSuiteName, se); } if (patternSuite != null) { valid = true; } } return valid; } }
private boolean isPatternInDatabase(TestSuiteRun testSuiteRun) { boolean valid = false; SimpleDBKey dbKey = new SimpleDBKey(testSuiteRun.getCompany(), testSuiteRun.getProject()); String patternCorrelationId = testSuiteRun.getPatternCorrelationId(); String patternSuiteName = testSuiteRun.getPatternSuite(); if (patternCorrelationId == null && patternSuiteName == null) { valid = true; } else { Suite patternSuite = null; try { if (patternCorrelationId != null) { patternSuite = metadataDAO.getSuite(dbKey, patternCorrelationId); } else { patternSuite = metadataDAO.getLatestRun(dbKey, patternSuiteName); } } catch (StorageException se) { LOG.error( "error while retrieving suite from mongo db: '{}', correlationId: '{}', suiteName: '{}'", dbKey, patternCorrelationId, patternSuiteName, se); } if (patternSuite != null) { valid = true; } } return valid; } }
/** * @param currentRun - current suite run * @return suite wrapper with all patterns from the last or specified (see * Suite.patternCorrelationId) run, if this is the first run of the suite, patterns will be * empty. */ public Suite enrichWithPatterns(final Suite currentRun) throws StorageException { final SimpleDBKey dbKey = new SimpleDBKey(currentRun); Suite lastVersion = metadataDAO.getLatestRun(dbKey, currentRun.getName()); Suite pattern; if (currentRun.getPatternCorrelationId() != null) { pattern = metadataDAO.getSuite(dbKey, currentRun.getPatternCorrelationId()); } else { pattern = lastVersion; } return SuiteMergeStrategy.merge(currentRun, lastVersion, pattern); }
/** * @param currentRun - current suite run * @return suite wrapper with all patterns from the last or specified (see * Suite.patternCorrelationId) run, if this is the first run of the suite, patterns will be * empty. */ public Suite enrichWithPatterns(final Suite currentRun) throws StorageException { final SimpleDBKey dbKey = new SimpleDBKey(currentRun); Suite lastVersion = metadataDAO.getLatestRun(dbKey, currentRun.getName()); Suite pattern; if (currentRun.getPatternCorrelationId() != null) { pattern = metadataDAO.getSuite(dbKey, currentRun.getPatternCorrelationId()); } else { pattern = lastVersion; } return SuiteMergeStrategy.merge(currentRun, lastVersion, pattern); }
void save() throws ValidatorException, StorageException { LOGGER.debug("Persisting suite {}", getObjectToRun()); try { Suite oldSuite = suiteDataService.getSuite(new SimpleDBKey(objectToRunWrapper.getRealSuite()), objectToRunWrapper.getCorrelationId()); suiteDataService.replaceSuite(oldSuite, objectToRunWrapper.getRealSuite()); } catch (StorageException e) { e.printStackTrace(); } messagesSender.sendMessage( new FinishedSuiteProcessingMessage(FinishedSuiteProcessingMessage.Status.OK, objectToRunWrapper.getCorrelationId())); }
void save() throws ValidatorException, StorageException { LOGGER.debug("Persisting suite {}", getObjectToRun()); try { Suite oldSuite = suiteDataService.getSuite(new SimpleDBKey(objectToRunWrapper.getRealSuite()), objectToRunWrapper.getCorrelationId()); suiteDataService.replaceSuite(oldSuite, objectToRunWrapper.getRealSuite()); } catch (StorageException e) { e.printStackTrace(); } messagesSender.sendMessage( new FinishedSuiteProcessingMessage(FinishedSuiteProcessingMessage.Status.OK, objectToRunWrapper.getCorrelationId())); } @Override