Search in sources :

Example 26 with Query

use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.

the class ShareableRepositoryImpl method findAllByFilter.

@Override
public Page<T> findAllByFilter(Filter filter, Pageable pageable, String projectName, String owner) {
    if (filter == null || pageable == null || projectName == null || owner == null) {
        return new PageImpl<>(emptyList());
    }
    Query query = QueryBuilder.newBuilder().with(filter).with(pageable).build();
    query.addCriteria(getAllEntitiesCriteria(projectName, owner));
    return findPage(query, pageable);
}
Also used : PageImpl(org.springframework.data.domain.PageImpl) Query(org.springframework.data.mongodb.core.query.Query) ShareableRepositoryUtils.createSharedEntityQuery(com.epam.ta.reportportal.database.dao.ShareableRepositoryUtils.createSharedEntityQuery) ShareableRepositoryUtils.createOwnedEntityQuery(com.epam.ta.reportportal.database.dao.ShareableRepositoryUtils.createOwnedEntityQuery)

Example 27 with Query

use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.

the class TestItemRepositoryCustomImpl method updateItemsIssues.

@Override
public void updateItemsIssues(Map<String, TestItemIssue> forUpdate) {
    Query query = query(where(ID).in(forUpdate.keySet()));
    Update update = new Update();
    mongoTemplate.stream(query, TestItem.class).forEachRemaining(dbo -> {
        String currentId = dbo.getId();
        TestItemIssue newValue = forUpdate.get(currentId);
        update.set(ISSUE_TYPE, newValue.getIssueType());
        update.set(ISSUE_DESCRIPTION, newValue.getIssueDescription());
        update.set(ISSUE_TICKET, newValue.getExternalSystemIssues());
        update.set(ISSUE_ANALYZED, newValue.isAutoAnalyzed());
        mongoTemplate.updateFirst(Query.query(Criteria.where(ID).is(currentId)), update, mongoTemplate.getCollectionName(TestItem.class));
    });
}
Also used : TestItemIssue(com.epam.ta.reportportal.database.entity.item.issue.TestItemIssue) Query(org.springframework.data.mongodb.core.query.Query) Update(org.springframework.data.mongodb.core.query.Update) TestItem(com.epam.ta.reportportal.database.entity.item.TestItem)

Example 28 with Query

use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.

the class TestItemRepositoryCustomImpl method findForSpecifiedSubType.

@Override
public List<TestItem> findForSpecifiedSubType(List<String> launchesIds, boolean hasChild, StatisticSubType type) {
    String issueField = "statistics.issueCounter." + TestItemIssueType.valueOf(type.getTypeRef()).awareStatisticsField() + "." + type.getLocator();
    Query query = query(where(LAUNCH_REFERENCE).in(launchesIds)).addCriteria(where(HAS_CHILD).is(hasChild)).addCriteria(where(issueField).exists(true)).with(new Sort(Sort.Direction.ASC, START_TIME));
    return mongoTemplate.find(query, TestItem.class);
}
Also used : Query(org.springframework.data.mongodb.core.query.Query) Sort(org.springframework.data.domain.Sort)

Example 29 with Query

use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.

the class UserPreferenceRepositoryCustomImpl method deleteUnsharedFilters.

@Override
public void deleteUnsharedFilters(String username, String project, String filterId) {
    Query query = Query.query(where("userRef").ne(username)).addCriteria(where("projectRef").is(project)).addCriteria(where("launchTabs.filters").is(filterId));
    Update update = new Update().pull("launchTabs.filters", filterId);
    mongoTemplate.updateMulti(query, update, UserPreference.class);
}
Also used : Query(org.springframework.data.mongodb.core.query.Query) Update(org.springframework.data.mongodb.core.query.Update)

Example 30 with Query

use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.

the class UserRepositoryCustomImpl method findUserPhoto.

@Override
public BinaryData findUserPhoto(String login) {
    BinaryData photo = null;
    Query q = query(where(User.LOGIN).is(login));
    q.fields().include(User.PHOTO_ID);
    User user = mongoOperations.findOne(q, User.class);
    if (user != null && user.getPhotoId() != null)
        photo = dataStorage.fetchData(user.getPhotoId());
    if (null == photo) {
        // Get default photo avatar (batman)
        photo = dataStorage.findByFilename(photoFilename(Constants.NONAME_USER.toString())).get(0);
    }
    return photo;
}
Also used : User(com.epam.ta.reportportal.database.entity.user.User) Query(org.springframework.data.mongodb.core.query.Query) BinaryData(com.epam.ta.reportportal.database.BinaryData)

Aggregations

Query (org.springframework.data.mongodb.core.query.Query)488 Test (org.junit.Test)312 BasicQuery (org.springframework.data.mongodb.core.query.BasicQuery)156 Update (org.springframework.data.mongodb.core.query.Update)79 NearQuery (org.springframework.data.mongodb.core.query.NearQuery)66 Document (org.bson.Document)56 Criteria (org.springframework.data.mongodb.core.query.Criteria)47 PartTree (org.springframework.data.repository.query.parser.PartTree)44 Sort (org.springframework.data.domain.Sort)30 ObjectId (org.bson.types.ObjectId)27 BasicDBObject (com.mongodb.BasicDBObject)22 DBObject (com.mongodb.DBObject)20 Before (org.junit.Before)18 List (java.util.List)17 Autowired (org.springframework.beans.factory.annotation.Autowired)17 GeoJsonPoint (org.springframework.data.mongodb.core.geo.GeoJsonPoint)17 Collectors (java.util.stream.Collectors)16 ArrayList (java.util.ArrayList)15 OptimisticLockingFailureException (org.springframework.dao.OptimisticLockingFailureException)15 MappingException (org.springframework.data.mapping.MappingException)15