org.springframework.boot.configurationprocessor.json.JSONException#org.springframework.data.mongodb.core.query.Query源码实例Demo

下面列出了org.springframework.boot.configurationprocessor.json.JSONException#org.springframework.data.mongodb.core.query.Query 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: FEBS-Cloud   文件: BlackListServiceImpl.java
private Query getQuery(BlackList blackList) {
    Query query = new Query();
    Criteria criteria = new Criteria();
    if (StringUtils.isNotBlank(blackList.getIp())) {
        criteria.and("ip").is(blackList.getIp());
    }
    if (StringUtils.isNotBlank(blackList.getRequestUri())) {
        criteria.and("requestUri").is(blackList.getRequestUri());
    }
    if (StringUtils.isNotBlank(blackList.getRequestMethod())) {
        criteria.and("requestMethod").is(blackList.getRequestMethod());
    }
    if (StringUtils.isNotBlank(blackList.getStatus())) {
        criteria.and("status").is(blackList.getStatus());
    }
    query.addCriteria(criteria);
    return query;
}
 
源代码2 项目: secure-data-service   文件: MongoRepository.java
@Override
public Iterable<T> findAll(String collectionName, NeutralQuery origNeutralQuery) {

    NeutralQuery neutralQuery = origNeutralQuery == null ? new NeutralQuery() : origNeutralQuery;

    // Enforcing the tenantId query. The rationale for this is all CRUD
    // Operations should be restricted based on tenant.
    this.addDefaultQueryParams(neutralQuery, collectionName);

    // convert the neutral query into a mongo query
    Query mongoQuery = this.queryConverter.convert(collectionName, neutralQuery);

    // always call guideIfTenantAgnostic - this sets threadlocal flag
    if (!guideIfTenantAgnostic(collectionName) && TenantContext.getTenantId() == null) {

        return findAllAcrossTenants(collectionName, mongoQuery);
    } else {
        // find and return an instance
        return findAll(mongoQuery, collectionName);
    }
}
 
源代码3 项目: biliob_backend   文件: CheckInCreditCalculator.java
@Override
public ResponseEntity execute(User user, ObjectId objectId) {
    Boolean isCheckedIn =
            mongoTemplate.exists(new Query(where("name").is(user.getName())), "check_in");
    String userName = user.getName();
    Double credit = user.getCredit();
    if (isCheckedIn) {
        throw new BusinessException(ExceptionEnum.ALREADY_SIGNED);
    } else {
        // 插入已签到集合
        mongoTemplate.insert(new CheckIn(userName), "check_in");

        // update execute status
        Query query = new Query(where("_id").is(objectId));
        Update update = new Update();
        update.set("isExecuted", true);
        mongoTemplate.updateFirst(query, update, "user_record");
    }
    return null;
}
 
源代码4 项目: osiris   文件: MapRepositoryCustomImplTest.java
@Test
public void findByIDAppAndQueryTest() throws Exception{
	
	String idApplication = "1";  
	String queryJSON = "{ geometry:{ $geoWithin:{ $centerSphere:[ [20.05,20.01] , 0.05]} } }";	
	Integer pageIndex=5;
	Integer pageSize= 20;
	int skipElementsValue = pageIndex*pageSize;		 
		
	//Fixture		 	    
    Query querySkip=Mockito.mock(Query.class);
    Query queryLimit=Mockito.mock(Query.class);
	PowerMockito.whenNew(BasicQuery.class).withArguments(queryJSON).thenReturn(basicQuery);				
	Mockito.when(basicQuery.skip(skipElementsValue)).thenReturn(querySkip);
	Mockito.when(querySkip.limit(pageSize)).thenReturn(queryLimit);				
	Mockito.when(mongoTemplate.find(queryLimit, Feature.class, collectionMap+idApplication)).thenReturn(features);
	
	//Experimentation
	Collection<Feature> featuresResponse=mapRepositoryCustomImpl.searchIDAppAndQuery(idApplication, queryJSON, pageIndex, pageSize);
	
	//Expectations
	Mockito.verify(mongoTemplate).find(queryLimit, Feature.class, collectionMap+idApplication);
	Assert.assertEquals("Features must be equals", featuresResponse, features);
	
}
 
源代码5 项目: konker-platform   文件: EventSchemaServiceImpl.java
@Override
public ServiceResponse<List<String>> findKnownIncomingChannelsBy(Tenant tenant, Application application, String deviceGuid) {
    ServiceResponse<Device> deviceServiceResponse = deviceRegisterService.getByDeviceGuid(tenant, application, deviceGuid);

    if (deviceServiceResponse.isOk()) {
        List<String> channelList = mongoTemplate.find(Query.query(Criteria.where("deviceGuid").is(deviceGuid)),
                                                      EventSchema.class,
                                                      SchemaType.INCOMING.getCollectionName())
                .stream().map(EventSchema::getChannel).distinct().sorted().collect(Collectors.toList());

        return ServiceResponseBuilder.<List<String>>ok()
            .withResult(channelList).build();
    } else {
        return ServiceResponseBuilder.<List<String>>error()
                .withMessages(deviceServiceResponse.getResponseMessages()).build();
    }
}
 
源代码6 项目: attic-rave   文件: MongoDbRegionRepositoryTest.java
@Test
public void getAll(){
    String id = "1111L";
    String id2 = "2222L";
    Page page = new PageImpl("1234L");
    List<Page> pages = Lists.newArrayList();
    List<Region> regions = Lists.newArrayList();
    Region region = new RegionImpl(id);
    Region region2 = new RegionImpl(id2);
    regions.add(region);
    regions.add(region2);
    pages.add(page);
    page.setRegions(regions);


    Query q = new Query();
    expect(template.find(q)).andReturn(pages);
    replay(template);

    List<Region> result = repo.getAll();
    assertNotNull(result);
    assertThat(result, is(equalTo(regions)));
    assertThat(result.size(), equalTo(2));
}
 
@Override
public List<RegionWidget> getAll(){
    Query q = new Query();

    List<Page> allPages = template.find(q);

    List<RegionWidget> regionWidgets = new ArrayList<RegionWidget>();

    for(Page page: allPages){
        List<Region> regions = page.getRegions();
        if(regions != null){
            for(Region region : regions) {
                List<RegionWidget> rws = region.getRegionWidgets();
                if(rws != null){
                    for(RegionWidget rw : rws){
                        regionWidgets.add(rw);
                    }
                }
            }
        }

    }

    return regionWidgets;
}
 
源代码8 项目: secure-data-service   文件: PurgeProcessorTest.java
@Test
public void testPurgingSystemCollections() throws Exception {

    RangedWorkNote workNote = RangedWorkNote.createSimpleWorkNote(BATCHJOBID);

    Exchange ex = Mockito.mock(Exchange.class);
    Message message = Mockito.mock(Message.class);
    Mockito.when(ex.getIn()).thenReturn(message);
    Mockito.when(message.getBody(RangedWorkNote.class)).thenReturn(workNote);

    NewBatchJob job = new NewBatchJob();
    job.setProperty("tenantId", "SLI");
    Mockito.when(mockBatchJobDAO.findBatchJobById(BATCHJOBID)).thenReturn(job);

    Set<String> collectionNames = new HashSet<String>();
    collectionNames.add("system.js");
    collectionNames.add("system.indexes");

    Mockito.when(mongoTemplate.getCollectionNames()).thenReturn(collectionNames);

    purgeProcessor.process(ex);

    Mockito.verify(mongoTemplate, Mockito.never()).remove(Mockito.any(Query.class), Mockito.eq("system.js"));
}
 
@Override
public Page<User> queryPage(SysRole role, UserQueryRequest queryRequest) {
	int start = queryRequest.getStart();
	int limit = queryRequest.getLimit();
	Query query = new Query();
	query.addCriteria(Criteria.where("roles").in(role));
	if (!StringUtils.isEmpty(queryRequest.getUsername())) {
		query.addCriteria(Criteria.where("username").regex(queryRequest.getUsername()));
	}
	query.addCriteria(Criteria.where("deleted").ne(true));

	PageRequest pageable = new PageRequest(start, limit, new Sort(Sort.Direction.DESC, "username"));
	query.with(pageable);
	long count = mongoTemplate.count(query, User.class);
	List<User> list = mongoTemplate.find(query, User.class);

	return new PageImpl<>(list, pageable, count);
}
 
源代码10 项目: hmily   文件: MongoCompensationServiceImpl.java
@Override
public Boolean updateRetry(final String id, final Integer retry, final String appName) {
    if (StringUtils.isBlank(id) || StringUtils.isBlank(appName) || Objects.isNull(retry)) {
        return Boolean.FALSE;
    }
    final String mongoTableName = RepositoryPathUtils.buildMongoTableName(appName);
    Query query = new Query();
    query.addCriteria(new Criteria("transId").is(id));
    Update update = new Update();
    update.set("lastTime", DateUtils.getCurrentDateTime());
    update.set("retriedCount", retry);
    final UpdateResult updateResult = mongoTemplate.updateFirst(query, update,
            MongoAdapter.class, mongoTableName);
    if (updateResult.getModifiedCount() <= 0) {
        throw new HmilyRuntimeException("更新数据异常!");
    }
    return Boolean.TRUE;
}
 
源代码11 项目: attic-rave   文件: MongoDbWidgetRepositoryTest.java
@Test
public void getByStatusAndTypeAndFreeTextSearch_null(){
    int offset = 2;
    int pageSize = 10;
    String type = "type";
    String searchTerm = "test" ;
    List<Widget> widgets = Lists.newArrayList();
    Widget w = new WidgetImpl();
    Widget w2 = new WidgetImpl();
    widgets.add(w);
    widgets.add(w2);

    expect(template.find(isA(Query.class))).andReturn(widgets);
    replay(template);

    List<Widget> result = repo.getByStatusAndTypeAndFreeTextSearch(WidgetStatus.PUBLISHED, type, searchTerm, offset, pageSize);
    assertNotNull(result);

}
 
@Test
public void testDeleteEntityAndContainerDoc() {
    ContainerDocumentAccessor cda = Mockito.spy(testAccessor);
    Map<String, Object> updateDocCriteria = new HashMap<String, Object>();
    updateDocCriteria.put("event", "Tardy");
    DBObject pullObject = BasicDBObjectBuilder.start().push("$pull").add("body.attendanceEvent", updateDocCriteria).get();
    DBObject resultingAttendanceEvent = createResultAttendance(null);

    NeutralSchema attendanceSchema = createMockAttendanceSchema();

    when(mongoTemplate.getCollection(ATTENDANCE)).thenReturn(mockCollection);
    when(mockCollection.findAndModify(Mockito.any(DBObject.class), (DBObject) Mockito.isNull(), (DBObject) Mockito.isNull(),
            Mockito.eq(false), Mockito.eq(pullObject), Mockito.eq(true), Mockito.eq(false))).thenReturn(resultingAttendanceEvent);
    when(mongoTemplate.findAndRemove(Mockito.any(Query.class), Mockito.eq(Entity.class), Mockito.eq(ATTENDANCE))).thenReturn(entity); // just return something non-null
    when(schemaRepo.getSchema(EntityNames.ATTENDANCE)).thenReturn(attendanceSchema);

    boolean result = cda.deleteContainerNonSubDocs(entity);

    Mockito.verify(mockCollection, Mockito.times(1)).findAndModify(Mockito.any(DBObject.class), (DBObject) Mockito.isNull(), (DBObject) Mockito.isNull(),
            Mockito.eq(false), Mockito.eq(pullObject), Mockito.eq(true), Mockito.eq(false));
    Mockito.verify(mongoTemplate, Mockito.times(1)).findAndRemove(Mockito.any(Query.class), Mockito.eq(Entity.class), Mockito.eq(ATTENDANCE));
    assertTrue(result);
}
 
源代码13 项目: biliob_backend   文件: AuthorGroupServiceImpl.java
@Override
public Result<DeleteResult> deleteAuthorList(String objectId) {
    ObjectId userId = UserUtils.getUserId();
    if (userId == null) {
        return new Result<>(ResultEnum.HAS_NOT_LOGGED_IN);
    }
    AuthorGroup authorGroup = this.getAuthorList(objectId);

    if (authorGroup == null) {
        return new Result<>(ResultEnum.LIST_NOT_FOUND);
    }
    if (authorGroup.getMaintainer().getId().toHexString().equals(userId.toHexString())) {
        return new Result<>(ResultEnum.SUCCEED, mongoTemplate.remove(Query.query(Criteria.where("_id").is(objectId)), AuthorGroup.class));
    } else {
        return new Result<>(ResultEnum.EXECUTE_FAILURE);
    }
}
 
源代码14 项目: jstarcraft-core   文件: MongoAccessor.java
@Override
public <K extends Comparable, T extends IdentityObject<K>> long countIntersection(Class<T> clazz, Map<String, Object> condition) {
	MongoMetadata metadata = metadatas.get(clazz);
	final Iterator<Entry<String, Object>> conditionIterator = condition.entrySet().iterator();
	Criteria criteria = Criteria.where(MongoMetadata.mongoId).exists(true);
	Criteria[] andCriterias = new Criteria[condition.size()];
	int index = 0;
	while (conditionIterator.hasNext()) {
		Entry<String, Object> keyValue = conditionIterator.next();
		String key = keyValue.getKey();
		Object value = keyValue.getValue();
		if (metadata.getPrimaryName().equals(key)) {
			key = MongoMetadata.mongoId;
		}
		andCriterias[index++] = Criteria.where(key).is(value);
	}
	Query query = Query.query(criteria.andOperator(andCriterias));
	return template.count(query, metadata.getOrmName());
}
 
@Test
public void save_Null(){
    PageLayout item1 = new MongoDbPageLayout();
    item1.setCode("blah1");
    item1.setNumberOfRegions((long)123);
    item1.setRenderSequence((long)432);
    item1.setUserSelectable(true);
    MongoDbPageLayout toSave = new MongoDbPageLayout();
    expect(template.findOne(new Query(where("code").is(item1.getCode())), pageLayoutRepository.CLASS, CollectionNames.PAGE_LAYOUT_COLLECTION)).andReturn(toSave);
    template.save(isA(MongoDbPageLayout.class), eq(CollectionNames.PAGE_LAYOUT_COLLECTION));
    expectLastCall();
    replay(template);

    PageLayout saved = pageLayoutRepository.save(item1);

    assertThat(saved.getCode(), is(sameInstance(item1.getCode())));
    assertThat(saved.getNumberOfRegions(), is(sameInstance(item1.getNumberOfRegions())));
    assertThat(saved.getRenderSequence(), is(sameInstance(item1.getRenderSequence())));
    assertThat(saved.isUserSelectable(), is(sameInstance(item1.isUserSelectable())));
}
 
源代码16 项目: biliob_backend   文件: UserCommentServiceImpl.java
@Override
public ResponseEntity<Result<String>> likeComment(String commentId) {

    User user = UserUtils.getUser();
    if (mongoTemplate.exists(Query.query(Criteria.where("likeList").is(user.getId()).and("_id").is(commentId)), Comment.class)) {
        return ResponseEntity.badRequest().body(new Result<>(ResultEnum.ALREADY_LIKE));
    }
    Comment comment = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(commentId)), Comment.class);
    if (comment == null) {
        return ResponseEntity.badRequest().body(new Result<>(ResultEnum.EXECUTE_FAILURE));
    }
    ObjectId commentPublisherId = comment.getUserId();

    User publisher = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(commentPublisherId)), User.class);
    return creditHandle.doCreditOperation(user, CreditConstant.LIKE_COMMENT, () -> {
        mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is(commentId)), new Update().addToSet("likeList", user.getId()).inc("like", 1), Comment.class);
        creditHandle.doCreditOperation(publisher, CreditConstant.BE_LIKE_COMMENT, () -> commentId);
        return commentId;
    });

}
 
源代码17 项目: hmily   文件: MongoCoordinatorRepository.java
@Override
public HmilyTransaction findById(final String id) {
    Query query = new Query();
    query.addCriteria(new Criteria("transId").is(id));
    MongoAdapter cache = template.findOne(query, MongoAdapter.class, collectionName);
    return buildByCache(Objects.requireNonNull(cache));
}
 
源代码18 项目: microservice-recruit   文件: IdUtil.java
/**
 * 获取下一个id并更新表
 * @param collName
 * @param mongo
 * @return
 */
public static Long getNextIdAndUpdate(String collName, MongoTemplate mongo) {
    Query query = new Query(Criteria.where("collName").is(collName));
    Update update = new Update();
    update.inc("seqId", 1);
    FindAndModifyOptions options = new FindAndModifyOptions();
    options.upsert(true);
    options.returnNew(true);
    SeqInfo seq = mongo.findAndModify(query, update, options, SeqInfo.class);
    return seq.getSeqId();
}
 
private void insertAchievementIfNotExist(AuthorDailyTrend data, AuthorAchievementEnum achievementEnum, Long value) {
    boolean wasGotten = mongoTemplate.exists(
            Query.query(
                    Criteria.where("author.mid").is(data.getMid())
                            .and("code").is(achievementEnum.getId())
                            .and("date").is(data.getDatetime())), Author.Achievement.class);
    if (!wasGotten) {
        logger.info("添加成就: {} {}", data.getMid(), achievementEnum.getName());
        mongoTemplate.save(new Author.Achievement(achievementEnum, data.getMid(), value, data.getDatetime()));
    }
}
 
源代码20 项目: FEBS-Cloud   文件: PageableExecutionUtil.java
public static <FEBS> Flux<FEBS> getPages(Query query, QueryRequest request, Class<FEBS> clazz,
                                         ReactiveMongoTemplate template) {
    Sort sort = Sort.by("id").descending();
    if (StringUtils.isNotBlank(request.getField()) && StringUtils.isNotBlank(request.getOrder())) {
        sort = FebsConstant.ORDER_ASC.equals(request.getOrder()) ?
                Sort.by(request.getField()).ascending() :
                Sort.by(request.getField()).descending();
    }
    Pageable pageable = PageRequest.of(request.getPageNum(), request.getPageSize(), sort);
    return template.find(query.with(pageable), clazz);
}
 
private void setFindEachReturn(List<Entity> studentEntities) {
    Mockito.when(repo.findEach(eq(EntityNames.STUDENT), argThat(new BaseMatcher<Query>() {
        @Override
        public boolean matches(Object item) {
            Query q = (Query) item;
            return q.getQueryObject().get(DisciplineIncidentContextResolver.DISCIPLINE_INCIDENT_ID).equals("123_id");
        }

        @Override
        public void describeTo(Description description) {
        }
    }))).thenReturn(studentEntities.iterator());
}
 
@Override
public TransactionRecover findById(final String id) {
    Query query = new Query();
    query.addCriteria(new Criteria("transId").is(id));
    MongoAdapter cache = template.findOne(query, MongoAdapter.class, collectionName);
    return buildByCache(cache);
}
 
@Test
public void getByUserId() {
    List<MongoDbActivityStreamsEntry> result = Lists.newArrayList();
    expect(template.find(Query.query(Criteria.where("actor._id").is(ID)), ENTITY_CLASS, ACTIVITIES)).andReturn(result);
    replay(template);

    List<ActivityStreamsEntry> entries = repository.getByUserId(ID);
    assertThat((Object)entries, is(sameInstance((Object)result)));
}
 
源代码24 项目: scava   文件: SimilarityManager.java
@Override
public void deleteRelations(ISimilarityCalculator simCalculator) {
	Query q2 = new Query(Criteria.where("type.name").is(simCalculator.getSimilarityName()));
	List<Relation> arts = mongoOperations.find(q2, Relation.class);
	relationRepository.delete(arts);

}
 
源代码25 项目: Almost-Famous   文件: ActorBagDaoImpl.java
@Override
public void updateActorBag(ActorBag pack) {
    Query query = new Query(Criteria.where("rid").is(pack.getRid()));
    Update update = new Update()
            .set("packages", pack.getPackages())
            .set("buyCount", pack.getBuyCount())
            .set("selectCount", pack.getSelectCount())
            .set("probability", pack.getProbability());
    gameMongoTemplate.findAndModify(query, update, getEntityClass());
}
 
@Override
public Page<AuthEvent> queryPage(AuthEventQueryRequest queryRequest) {

	int start = queryRequest.getStart();
	int limit = queryRequest.getLimit();
	Query query = buildQuery(queryRequest);

	PageRequest pageable = new PageRequest(start, limit, new Sort(Sort.Direction.DESC, "loginAt"));
	query.with(pageable);
	long count = mongoTemplate.count(query, AuthEvent.class);
	List<AuthEvent> list = mongoTemplate.find(query, AuthEvent.class);

	return new PageImpl<>(list, pageable, count);
}
 
源代码27 项目: attic-rave   文件: MongoDbPageRepository.java
@Override
public int deletePages(String userId, String pageType) {
    Query query = query(where("pageType").is(pageType).andOperator(where("ownerId").is(userId)));
    int count = (int)template.count(query);
    template.remove(query);
    return count;
}
 
@Override
public MongoClientDetails findByClientId(final String clientId) {
    final Query query = Query.query(Criteria.where(ID).is(clientId));
    final MongoClientDetails mongoClientDetails = mongoTemplate.findOne(query, MongoClientDetails.class);
    if (mongoClientDetails == null) {
        throw new IllegalArgumentException("No valid client id");
    }
    return mongoClientDetails;
}
 
源代码29 项目: tutorials   文件: MongoTemplateQueryLiveTest.java
@Test
public void whenSavingUserWithoutSettingAge_thenAgeIsSetByDefault() {
    final User user = new User();
    user.setName("Alex");
    mongoTemplate.insert(user);

    assertThat(mongoTemplate.findOne(Query.query(Criteria.where("name").is("Alex")), User.class).getAge(), is(0));
}
 
源代码30 项目: biliob_backend   文件: SiteServiceImpl.java
@Override
public Map<String, Long> getVideoCount() {
    Long videoFocusCount =
            mongoTemplate.count(new Query(Criteria.where("focus").is(true)), "video");
    Long videoNotFocusCount =
            mongoTemplate.count(new Query(Criteria.where("focus").is(false)), "video");
    Map<String, Long> videoResult = new HashMap<>(2);
    videoResult.put("focusCount", videoFocusCount);
    videoResult.put("count", videoFocusCount + videoNotFocusCount);
    return videoResult;
}