• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ParaObject类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.erudika.para.core.ParaObject的典型用法代码示例。如果您正苦于以下问题:Java ParaObject类的具体用法?Java ParaObject怎么用?Java ParaObject使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ParaObject类属于com.erudika.para.core包,在下文中一共展示了ParaObject类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: indexAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> void indexAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null || objects.isEmpty()) {
		return;
	}
	BulkRequestBuilder brb = client().prepareBulk();
	for (ParaObject po : objects) {
		brb.add(client().prepareIndex(getIndexName(appid), getType(), po.getId()).
				setSource(ElasticSearchUtils.getSourceFromParaObject(po)));
	}
	if (brb.numberOfActions() > 0) {
		ActionListener<BulkResponse> responseHandler = ElasticSearchUtils.getBulkIndexResponseHandler();
		if (isAsyncEnabled()) {
			brb.execute(responseHandler);
		} else {
			responseHandler.onResponse(brb.execute().actionGet());
		}
	}
	logger.debug("Search.indexAll() {}", objects.size());
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:21,代码来源:ElasticSearch.java


示例2: unindexAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> void unindexAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null || objects.isEmpty()) {
		return;
	}
	BulkRequestBuilder brb = client().prepareBulk();
	for (ParaObject po : objects) {
		brb.add(client().prepareDelete(getIndexName(appid), getType(), po.getId()));
	}
	if (brb.numberOfActions() > 0) {
		ActionListener<BulkResponse> responseHandler = ElasticSearchUtils.getBulkIndexResponseHandler();
		if (isAsyncEnabled()) {
			brb.execute(responseHandler);
		} else {
			responseHandler.onResponse(brb.execute().actionGet());
		}
	}
	logger.debug("Search.unindexAll() {}", objects.size());
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:20,代码来源:ElasticSearch.java


示例3: create

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> String create(String appid, P so) {
	if (so == null) {
		return null;
	}
	if (StringUtils.isBlank(so.getId())) {
		so.setId(Utils.getNewId());
	}
	if (so.getTimestamp() == null) {
		so.setTimestamp(Utils.timestamp());
	}
	so.setAppid(appid);
	so.setIndexed(false); // skip indexing - already indexed here
	search.index(appid, ParaObjectUtils.setAnnotatedFields(ParaObjectUtils.toObject(so.getType()),
			ParaObjectUtils.getAnnotatedFields(so), null));
	logger.debug("DAO.create() {}", so.getId());
	return so.getId();
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:19,代码来源:IndexBasedDAO.java


示例4: createAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> void createAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null) {
		return;
	}
	Iterator<P> iter = objects.iterator();
	while (iter.hasNext()) {
		P p = iter.next();
		if (p == null) {
			iter.remove();
			continue;
		}
		p.setAppid(appid);
		p.setIndexed(false);
		if (StringUtils.isBlank(p.getId())) {
			p.setId(Utils.getNewId());
		}
		if (p.getTimestamp() == null) {
			p.setTimestamp(Utils.timestamp());
		}
	}
	search.indexAll(appid, objects);
	logger.debug("DAO.createAll() {}", objects.size());
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:25,代码来源:IndexBasedDAO.java


示例5: readAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> Map<String, P> readAll(String appid, List<String> keys, boolean getAllColumns) {
	if (keys == null || StringUtils.isBlank(appid)) {
		return Collections.emptyMap();
	}
	Map<String, P> results = new LinkedHashMap<String, P>(keys.size());
	List<P> list = search.findByIds(getAppidWithRouting(appid), keys);

	for (P p : list) {
		if (p != null) {
			results.put(p.getId(), p);
		}
	}

	logger.debug("DAO.readAll() {}", results.size());
	return results;
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:18,代码来源:IndexBasedDAO.java


示例6: index

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public void index(String appid, ParaObject po) {
	if (po == null || StringUtils.isBlank(appid)) {
		return;
	}
	try {
		IndexRequestBuilder irb = client().prepareIndex(getIndexName(appid), getType(), po.getId()).
				setSource(ElasticSearchUtils.getSourceFromParaObject(po));
		ActionListener<IndexResponse> responseHandler = ElasticSearchUtils.getIndexResponseHandler();
		if (isAsyncEnabled()) {
			irb.execute(responseHandler);
		} else {
			responseHandler.onResponse(irb.execute().actionGet());
		}
		logger.debug("Search.index() {}", po.getId());
	} catch (Exception e) {
		logger.warn(null, e);
	}
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:20,代码来源:ElasticSearch.java


示例7: unindex

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public void unindex(String appid, ParaObject po) {
	if (po == null || StringUtils.isBlank(po.getId()) || StringUtils.isBlank(appid)) {
		return;
	}
	try {
		DeleteRequestBuilder drb = client().prepareDelete(getIndexName(appid), getType(), po.getId());
		ActionListener<DeleteResponse> responseHandler = ElasticSearchUtils.getIndexResponseHandler();
		if (isAsyncEnabled()) {
			drb.execute(responseHandler);
		} else {
			responseHandler.onResponse(drb.execute().actionGet());
		}
		logger.debug("Search.unindex() {}", po.getId());
	} catch (Exception e) {
		logger.warn(null, e);
	}
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:19,代码来源:ElasticSearch.java


示例8: findTermInList

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> List<P> findTermInList(String appid, String type,
		String field, List<?> terms, Pager... pager) {
	if (StringUtils.isBlank(field) || terms == null) {
		return Collections.emptyList();
	}
	QueryBuilder qb;
	if (nestedMode() && field.startsWith(PROPS_PREFIX)) {
		QueryBuilder bfb = null;
		BoolQueryBuilder fb = boolQuery();
		for (Object term : terms) {
			bfb = keyValueBoolQuery(field, String.valueOf(term));
			fb.should(bfb);
		}
		qb = nestedPropsQuery(terms.size() > 1 ? fb : bfb);
	} else {
		qb = termsQuery(field, terms);
	}
	return searchQuery(appid, type, qb, pager);
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:21,代码来源:ElasticSearch.java


示例9: findQuery

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> List<P> findQuery(String appid, String type,
		String query, Pager... pager) {
	if (StringUtils.isBlank(query)) {
		return Collections.emptyList();
	}
	// a basic implementation of support for nested queries in query string
	// https://github.com/elastic/elasticsearch/issues/11322
	QueryBuilder qb;
	if (nestedMode() && query.matches(PROPS_REGEX)) {
		qb = convertQueryStringToNestedQuery(query);
		if (qb == null) {
			return Collections.emptyList();
		}
	} else {
		qb = queryStringQuery(qs(query)).allowLeadingWildcard(false);
	}
	return searchQuery(appid, type, qb, pager);
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:20,代码来源:ElasticSearch.java


示例10: findTerms

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <P extends ParaObject> List<P> findTerms(String appid, String type,
		Map<String, ?> terms, boolean mustMatchAll, Pager... pager) {
	if (terms == null || terms.isEmpty()) {
		return Collections.emptyList();
	}

	QueryBuilder fb = getTermsQuery(terms, mustMatchAll);

	if (fb == null) {
		return Collections.emptyList();
	} else {
		return searchQuery(appid, type, fb, pager);
	}
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:17,代码来源:ElasticSearch.java


示例11: getParaObjectFromSource

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
/**
 * Converts the source of an ES document to {@link ParaObject}.
 * @param <P> object type
 * @param source a map of keys and values coming from ES
 * @return a new ParaObject
 */
static <P extends ParaObject> P getParaObjectFromSource(Map<String, Object> source) {
	if (source == null) {
		return null;
	}
	Map<String, Object> data = new HashMap<>(source.size());
	data.putAll(source);
	// retrieve the JSON for the original properties field and deserialize it
	if (nestedMode() && data.containsKey(PROPS_JSON)) {
		try {
			Map<String, Object> props = ParaObjectUtils.getJsonReader(Map.class).
					readValue((String) data.get(PROPS_JSON));
			data.put(PROPS_FIELD, props);
		} catch (Exception e) {
			logger.error(null, e);
		}
		data.remove(PROPS_JSON);
	}
	data.remove("_docid");
	return ParaObjectUtils.setAnnotatedFields(data);
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:27,代码来源:ElasticSearchUtils.java


示例12: testRangeQuery

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Test
public void testRangeQuery() {
	// many terms
	Map<String, Object> terms1 = new HashMap<String, Object>();
	terms1.put(Config._TIMESTAMP + " <", 1111111111L);

	Map<String, Object> terms2 = new HashMap<String, Object>();
	terms2.put(Config._TIMESTAMP + "<=", u.getTimestamp());

	List<ParaObject> res1 = s.findTerms(u.getType(), terms1, true);
	List<ParaObject> res2 = s.findTerms(u.getType(), terms2, true);

	assertEquals(1, res1.size());
	assertEquals(1, res2.size());

	assertEquals(u.getId(), res1.get(0).getId());
	assertEquals(u.getId(), res2.get(0).getId());
}
 
开发者ID:Erudika,项目名称:para-search-elasticsearch,代码行数:19,代码来源:ElasticSearchIT.java


示例13: delete

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
public void delete() {
	// delete post
	ArrayList<ParaObject> children = new ArrayList<ParaObject>();
	ArrayList<String> ids = new ArrayList<String>();
	// delete Comments
	children.addAll(client().getChildren(this, Utils.type(Comment.class)));
	// delete Revisions
	children.addAll(client().getChildren(this, Utils.type(Revision.class)));

	if (canHaveChildren()) {
		for (ParaObject reply : client().getChildren(this, Utils.type(Reply.class))) {
			// delete Comments
			children.addAll(client().getChildren(reply, Utils.type(Comment.class)));
			// delete Revisions
			children.addAll(client().getChildren(reply, Utils.type(Revision.class)));
		}
	}
	for (ParaObject child : children) {
		ids.add(child.getId());
	}
	client().deleteAll(ids);
	client().delete(this);
}
 
开发者ID:Erudika,项目名称:scoold,代码行数:24,代码来源:Post.java


示例14: updateRow

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
private <P extends ParaObject> void updateRow(P so, String appid) {
	if (so == null || so.getId() == null || StringUtils.isBlank(appid)) {
		return;
	}
	try {
		String oldRow = readRow(so.getId(), appid);
		if (oldRow != null) {
			Map<String, Object> oldData = ParaObjectUtils.getJsonReader(Map.class).readValue(oldRow);
			Map<String, Object> newData = ParaObjectUtils.getAnnotatedFields(so, Locked.class);
			oldData.putAll(newData);
			PreparedStatement ps = getPreparedStatement("UPDATE " +
					CassandraUtils.getTableNameForAppid(appid) + " SET json = ? WHERE id = ?;");
			getClient().execute(ps.bind(ParaObjectUtils.getJsonWriterNoIdent().
					writeValueAsString(oldData), so.getId()));
			logger.debug("Updated id: " + so.getId());
		}
	} catch (Exception e) {
		logger.error(null, e);
	}
}
 
开发者ID:Erudika,项目名称:para-dao-cassandra,代码行数:21,代码来源:CassandraDAO.java


示例15: createAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> void createAll(String appid, List<P> objects) {
	if (objects == null || objects.isEmpty() || StringUtils.isBlank(appid)) {
		return;
	}
	List<Document> documents = new ArrayList<Document>();
	for (ParaObject so : objects) {
		if (so != null) {
			if (StringUtils.isBlank(so.getId())) {
				so.setId(MongoDBUtils.generateNewId());
				logger.debug("Generated id: " + so.getId());
			}
			if (so.getTimestamp() == null) {
				so.setTimestamp(Utils.timestamp());
			}
			so.setAppid(appid);
			documents.add(toRow(so, null, false, true));
		}
	}
	if (!documents.isEmpty()) {
		getTable(appid).insertMany(documents);
	}
	logger.debug("DAO.createAll() {}", objects.size());
}
 
开发者ID:Erudika,项目名称:para-dao-mongodb,代码行数:25,代码来源:MongoDBDAO.java


示例16: create

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> String create(String appid, P so) {
	if (so == null) {
		return null;
	}
	if (StringUtils.isBlank(so.getId())) {
		so.setId(MongoDBUtils.generateNewId());
		logger.debug("Generated id: " + so.getId());
	}
	if (so.getTimestamp() == null) {
		so.setTimestamp(Utils.timestamp());
	}
	so.setAppid(appid);
	createRow(so.getId(), appid, toRow(so, null, false, true));
	logger.debug("DAO.create() {}", so.getId());
	return so.getId();
}
 
开发者ID:Erudika,项目名称:para-dao-mongodb,代码行数:18,代码来源:MongoDBDAO.java


示例17: readAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> Map<String, P> readAll(String appid, List<String> keys, boolean getAllColumns) {
	if (keys == null || keys.isEmpty() || StringUtils.isBlank(appid)) {
		return new LinkedHashMap<String, P>();
	}
	Map<String, P> results = new LinkedHashMap<String, P>(keys.size(), 0.75f, true);
	BasicDBObject inQuery = new BasicDBObject();
	inQuery.put(ID, new BasicDBObject("$in", keys));

	MongoCursor<Document> cursor = getTable(appid).find(inQuery).iterator();
	while (cursor.hasNext()) {
		Document d = cursor.next();
		P obj = fromRow(d);
		if (d != null) {
			results.put(d.getString(ID), obj);
		}
	}

	logger.debug("DAO.readAll() {}", results.size());
	return results;
}
 
开发者ID:Erudika,项目名称:para-dao-mongodb,代码行数:22,代码来源:MongoDBDAO.java


示例18: findNearby

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
/**
 * Search for Address objects in a radius of X km from a given point.
 * @param type the type of object to search for. See {@link ParaObject#getType()}
 * @param query the query string
 * @param radius the radius of the search circle
 * @param lat latitude
 * @param lng longitude
 * @param pager a {@link Pager}
 * @param callback Listener called with response object
 * @param error ErrorListener called on error
 */
public void findNearby(String type, String query, int radius, double lat, double lng,
                       final Pager pager, final Listener<List<ParaObject>> callback,
                       ErrorListener... error) {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("latlng", lat + "," + lng);
    params.put("radius", Integer.toString(radius));
    params.put("q", query);
    params.put("type", type);
    params.putAll(pagerToParams(pager));
    find("nearby", params, new Listener<Map<String, Object>>() {
        public void onResponse(Map<String, Object> res) {
            callback.onResponse(getItems(res, pager));
        }
    }, error);
}
 
开发者ID:Erudika,项目名称:para-client-android,代码行数:27,代码来源:ParaClient.java


示例19: findSimilar

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
/**
 * Searches for objects that have similar property values to a given text.
 * A "find like this" query.
 * @param type the type of object to search for. See {@link Sysprop#getType()}
 * @param filterKey exclude an object with this key from the results (optional)
 * @param fields a list of property names
 * @param liketext text to compare to
 * @param pager a {@link Pager}
 * @param callback Listener called with response object
 * @param error ErrorListener called on error
 */
public void findSimilar(String type, String filterKey, String[] fields, String liketext,
                        final Pager pager, final Listener<List<ParaObject>> callback,
                        ErrorListener... error) {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("fields", fields == null ? null : Arrays.asList(fields));
    params.put("filterid", filterKey);
    params.put("like", liketext);
    params.put("type", type);
    params.putAll(pagerToParams(pager));
    find("similar", params, new Listener<Map<String, Object>>() {
        public void onResponse(Map<String, Object> res) {
            callback.onResponse(getItems(res, pager));
        }
    }, error);
}
 
开发者ID:Erudika,项目名称:para-client-android,代码行数:27,代码来源:ParaClient.java


示例20: updateAll

import com.erudika.para.core.ParaObject; //导入依赖的package包/类
@Override
public <P extends ParaObject> void updateAll(String appid, List<P> objects) {
	if (StringUtils.isBlank(appid) || objects == null) {
		return;
	}
	try {
		ArrayList<WriteModel<Document>> updates = new ArrayList<WriteModel<Document>>();
		List<String> ids = new ArrayList<String>(objects.size());
		for (P object : objects) {
			if (object != null) {
				object.setUpdated(Utils.timestamp());
				Document id = new Document(ID, object.getId());
				Document data = new Document("$set", toRow(object, Locked.class, true));
				UpdateOneModel<Document> um = new UpdateOneModel<Document>(id, data);
				updates.add(um);
				ids.add(object.getId());
			}
		}
		BulkWriteResult res = getTable(appid).bulkWrite(updates, new BulkWriteOptions().ordered(true));
		logger.debug("Updated: " + res.getModifiedCount() + ", keys: " + ids);
	} catch (Exception e) {
		logger.error(null, e);
	}
	logger.debug("DAO.updateAll() {}", objects.size());
}
 
开发者ID:Erudika,项目名称:para-dao-mongodb,代码行数:26,代码来源:MongoDBDAO.java



注:本文中的com.erudika.para.core.ParaObject类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java RequestResult类代码示例发布时间:2022-05-22
下一篇:
Java FreemarkerServlet类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap