本文整理汇总了Java中org.apache.cayenne.query.ObjectSelect类的典型用法代码示例。如果您正苦于以下问题:Java ObjectSelect类的具体用法?Java ObjectSelect怎么用?Java ObjectSelect使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ObjectSelect类属于org.apache.cayenne.query包,在下文中一共展示了ObjectSelect类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: performShowConcept
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
private void performShowConcept(String line) {
Matcher m = Pattern.compile("s (\\d*)").matcher(line);
if (m.matches()) {
try {
long conceptId = Long.parseLong(m.group(1));
ObjectContext context = cayenne.get().newContext();
Concept c = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(conceptId)).selectOne(context);
if (c != null) {
setCurrentConcept(c);
printConcept(c, false);
}
else {
System.err.println("No concept found with identifier: "+conceptId);
}
}
catch (NumberFormatException e) {
System.err.println("Invalid concept identifier");
}
}
if ("s".equalsIgnoreCase(line.trim()) && currentConcept() != null) {
printConcept(currentConcept(), true);
}
}
示例2: update
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Override
void update(Description d, String[] csv) {
d.setDescriptionId(descriptionId(csv));
ObjectSelect<Concept> query = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(conceptId(csv)));
Concept c = query.selectOne(d.getObjectContext());
if (c != null ) {
d.setConcept(c);
d.setDescriptionStatusCode(descriptionStatus(csv));
d.setDescriptionTypeCode(descriptionType(csv));
d.setInitialCapitalStatus(initialCapitalStatus(csv));
d.setLanguageCode(languageCode(csv));
d.setTerm(term(csv));
}
else {
System.err.println("No concept found for description : "+descriptionId(csv) + ":" + term(csv) + ". ConceptId=" + conceptId(csv));
d.getObjectContext().deleteObject(d);
}
}
示例3: timingForRecursiveParents
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
private void timingForRecursiveParents(ObjectContext context, long conceptId) {
// try method 1, fetch concept and then fetch recursive parents
long startTime = System.nanoTime();
Concept ms1 = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(26078007L)).selectOne(context);
List<Long> parents = ParentCache.fetchRecursiveParentsForConcept(context, 26078007L);
long duration = (System.nanoTime() - startTime) / 1000000;
System.out.println("Time taken for fetch and then fetch: " + duration + " ms");
startTime = System.nanoTime();
// try method 2, fetch concept and prefetch parents from cache in database
ObjectSelect<Concept> q = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(26078007L));
q.prefetch(Concept.RECURSIVE_PARENT_CONCEPTS.joint());
Concept ms = context.selectFirst(q);
Set<Long> parents2 = ms.getCachedRecursiveParents();
duration = (System.nanoTime() - startTime) / 1000000;
System.out.println("Time taken for fetch with prefetch " + duration + " ms");
// are methods equivalent? this may fail if database is inconsistent
// assertTrue(parents2.equals(new HashSet<Long>(parents)));
}
示例4: testSearchMedications
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testSearchMedications() throws CorruptIndexException, ParseException, IOException {
ObjectContext context = getRuntime().newContext();
Search search = Search.getInstance();
Builder b = new Search.Request.Builder(search);
List<ResultItem> sAmlodipine = b.searchUsingQueryParser("amlodip*").setMaxHits(1).withFilters(Search.Filter.DMD_VTM_OR_TF).build().search();
assertEquals(1, sAmlodipine.size());
Concept amlodipine = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(sAmlodipine.get(0).getConceptId())).selectOne(context);
assertNotNull(amlodipine);
assertTrue(Vtm.isA(amlodipine)); // this should be a VTM
List<ResultItem> aMadopar = b.search("madopar").setMaxHits(1).withFilters(Search.Filter.DMD_VTM_OR_TF).build().search();
Concept madopar = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(aMadopar.get(0).getConceptId())).selectOne(context);
assertTrue(Tf.isA(madopar));
assertEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.VIRTUAL_THERAPEUTIC_MOIETY.conceptId).build().search().size());
assertEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.VIRTUAL_MEDICINAL_PRODUCT.conceptId).build().search().size());
assertEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.VIRTUAL_MEDICINAL_PRODUCT_PACK.conceptId).build().search().size());
assertNotEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.TRADE_FAMILY.conceptId).build().search().size());
assertNotEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.ACTUAL_MEDICINAL_PRODUCT.conceptId).build().search().size());
assertNotEquals(0, b.search("madopar").clearFilters().withDirectParent(Dmd.Product.ACTUAL_MEDICINAL_PRODUCT_PACK.conceptId).build().search().size());
}
示例5: testRequest
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testRequest() throws CorruptIndexException, IOException, ParseException {
ObjectContext context = getRuntime().newContext();
Search search = Search.getInstance();
List<ResultItem> sAmlodipine = new Search.Request.Builder(search).searchUsingQueryParser("amlodip*").withFilters(Search.Filter.DMD_VTM_OR_TF, Search.Filter.CONCEPT_ACTIVE).setMaxHits(1).build().search();
assertEquals(1, sAmlodipine.size());
Concept amlodipine = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(sAmlodipine.get(0).getConceptId())).selectOne(context);
assertTrue(Vtm.isA(amlodipine));
List<ResultItem> sMultipleSclerosisInDrugs = new Search.Request.Builder(search).searchUsingQueryParser("multiple sclerosis").withFilters(Search.Filter.DMD_VTM_OR_TF).build().search();
assertEquals(0, sMultipleSclerosisInDrugs.size());
List<ResultItem> sMultipleSclerosis = new Search.Request.Builder(search).search("multiple sclerosis").withRecursiveParent(Category.DISEASE.conceptId).setMaxHits(1).build().search();
assertEquals(1, sMultipleSclerosis.size());
List<ResultItem> sMs = new Search.Request.Builder(search).search("ms").withRecursiveParent(Category.DISEASE.conceptId).withFilters(Search.Filter.CONCEPT_ACTIVE).setMaxHits(200).build().search();
//sMs.forEach(ri -> System.out.println(ri));
assertTrue(sMs.stream().anyMatch(ri -> ri.getConceptId()==24700007L)); // multiple sclerosis
assertTrue(sMs.stream().anyMatch(ri -> ri.getConceptId()==79619009L)); // mitral stenosis
}
示例6: testLocale
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testLocale() {
ObjectContext context = getRuntime().newContext();
Concept haemophilia = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(90935002L)).selectOne(context);
assertNotNull(haemophilia);
// haemophilia has two preferred descriptions one for US and one for GB
assertTrue(haemophilia.getDescriptions().stream()
.filter(d -> d.isPreferred())
.count() > 1);
Description preferredGB = haemophilia.getPreferredDescription("en-GB").get();
assertNotNull(preferredGB);
assertTrue(preferredGB.isPreferred());
assertTrue(preferredGB.isActive());
assertEquals("en-GB", preferredGB.getLanguageCode());
Description preferredUS = haemophilia.getPreferredDescription("en-US").get();
assertEquals("en-US", preferredUS.getLanguageCode());
Concept beclametasone = ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(1389007L)).selectOne(context);
assertNotNull(beclametasone);
Description bGp = beclametasone.getPreferredDescription("en-GB").get();
assertTrue(bGp.isActive());
}
示例7: testDmd
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testDmd() {
ObjectContext context = getRuntime().newContext();
Amp nifedipress = new Amp(ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(7855311000001102L)).selectOne(context));
assertEquals(2, nifedipress.getExcipients().count()); //lactose and polysorbate
assertTrue(nifedipress.isAvailable()); // this is currently true, but may change in the future
Amp istin = new Amp(ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(5523911000001100L)).selectOne(context));
assertEquals(0, istin.getExcipients().count()); // Excipient not declared (qualifier value) 8653301000001102
assertTrue(istin.isAvailable());
istin.getVtms().forEach(vtm -> assertTrue(vtm.isPrescribable()));
Vmp rofecoxib = new Vmp(ObjectSelect.query(Concept.class, Concept.CONCEPT_ID.eq(330162006L)).selectOne(context));
assertFalse(rofecoxib.isAvailable()); // rofecoxib isn't available anymore
assertFalse(rofecoxib.isPrescribable()); // and so isn't prescribable either
rofecoxib.getAmps().forEach(amp -> assertFalse(amp.isAvailable())); // none of the AMPs are available either.
rofecoxib.getTfs().forEach(tf -> assertFalse(tf.isPrescribable())); // likewise for the TFs
rofecoxib.getVtms().forEach(vtm -> assertFalse(vtm.isPrescribable()));
}
示例8: testInvalidate_CustomData
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testInvalidate_CustomData() {
ObjectContext context = SERVER_RUNTIME.newContext();
// make sure Cayenne-specific caches are created...
ObjectSelect<Table1> g1 = ObjectSelect.query(Table1.class).localCache("cayenne1");
assertEquals(0, g1.select(context).size());
// add custom data
CacheManager cacheManager = TEST_RUNTIME.getInstance(CacheManager.class);
Cache<String, String> cache = cacheManager.getCache("cayenne1");
cache.put("a", "b");
assertEquals("b", cache.get("a"));
// generate commit event
context.newObject(Table1.class);
context.commitChanges();
// custom cache entries must expire
assertNull(cache.get("a"));
}
示例9: testCachedQueries
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testCachedQueries() {
ObjectContext context = RUNTIME.newContext();
ObjectSelect<Table1> g1 = ObjectSelect.query(Table1.class).localCache("g1");
ObjectSelect<Table1> g2 = ObjectSelect.query(Table1.class).localCache("g2");
dataManager.getTable(Table1.class).insert(1).insert(45);
assertEquals(2, g1.select(context).size());
// we are still cached, must not see the new changes
dataManager.getTable(Table1.class).insert(2).insert(44);
assertEquals(2, g1.select(context).size());
// different cache group - must see the changes
assertEquals(4, g2.select(context).size());
// refresh the cache, so that "g1" could see the changes
RUNTIME.getDataDomain().getQueryCache().removeGroup("g1");
assertEquals(4, g1.select(context).size());
}
示例10: match
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
public List<T> match(ObjectContext context, Map<Object, Map<String, Object>> mappedSegment) {
Collection<Object> keys = mappedSegment.keySet();
List<Expression> expressions = new ArrayList<>(keys.size());
for (Object key : keys) {
Expression e = mapper.expressionForKey(key);
if (e != null) {
expressions.add(e);
}
}
// no keys (?)
if (expressions.isEmpty()) {
return Collections.emptyList();
} else {
return ObjectSelect.query(type).where(ExpressionFactory.or(expressions)).select(context);
}
}
示例11: testPost_SingleId
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testPost_SingleId() {
Response response1 = target("/single-id")
.queryParam("exclude", "age", "description")
.request()
.post(Entity.json("{\"id\":\"John\"}"));
assertEquals(Response.Status.CREATED.getStatusCode(), response1.getStatus());
E20 e20 = ObjectSelect.query(E20.class).selectFirst(newContext());
assertNotNull(e20);
assertEquals("John", e20.getName());
assertEquals("{\"data\":[{\"id\":\"John\",\"name\":\"John\"}],\"total\":1}",
response1.readEntity(String.class));
Response response2 = target("/single-id").queryParam("exclude", "age", "description").request().post(
Entity.json("{\"id\":\"John\"}"));
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response2.getStatus());
assertTrue(response2.readEntity(String.class).contains("object already exists"));
}
示例12: testPost_MultiId
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
@Test
public void testPost_MultiId() {
Response response1 = target("/multi-id").queryParam("exclude", "description").request().post(
Entity.json("{\"id\":{\"age\":18,\"name\":\"John\"}}"));
assertEquals(Response.Status.CREATED.getStatusCode(), response1.getStatus());
E21 e21 = ObjectSelect.query(E21.class).selectFirst(newContext());
assertNotNull(e21);
assertEquals(Integer.valueOf(18), e21.getAge());
assertEquals("John", e21.getName());
assertEquals("{\"data\":[{\"id\":{\"age\":18,\"name\":\"John\"},\"age\":18,\"name\":\"John\"}],\"total\":1}",
response1.readEntity(String.class));
Response response2 = target("/multi-id").queryParam("exclude", "description").request().post(
Entity.json("{\"id\":{\"age\":18,\"name\":\"John\"}}"));
assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response2.getStatus());
assertTrue(response2.readEntity(String.class).contains("object already exists"));
}
示例13: setListViewData
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
protected void setListViewData() {
final List<Artist> artists = ObjectSelect.query(Artist.class)
.orderBy(ordering)
.select(cayenneService.sharedContext());
RecyclerView.Adapter adapter = new ArtistAdapter(artists, this, view -> {
int itemPosition = recyclerView.getChildLayoutPosition(view);
Artist item = artists.get(itemPosition);
createOrEditArtist((Integer) item.getObjectId().getIdSnapshot().get(Artist.ID_PK_COLUMN));
});
recyclerView.setAdapter(adapter);
}
示例14: _performSearch
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
private List<ResultItem> _performSearch(String search, final List<Long> recursiveParents,
final List<Long> directParents, int maxHits, boolean includeFsn, boolean includeInactive, boolean fuzzy,
boolean fallbackFuzzy, String project) throws CorruptIndexException, IOException {
Search.Request.Builder b = Search.getInstance().newBuilder();
b.setMaxHits(maxHits)
.withRecursiveParent(recursiveParents);
if (search != null && search.length() > 0) {
b.search(search);
}
if (!includeInactive) {
b.onlyActive();
}
if (!includeFsn) {
b.withoutFullySpecifiedNames();
}
if (fuzzy) {
b.useFuzzy();
}
if (directParents.size() > 0) {
b.withDirectParent(directParents);
}
List<ResultItem> result = b.build().search();
if (!fuzzy && fallbackFuzzy && result.size() == 0) {
result = b.useFuzzy().build().search();
}
if (project != null && project.length() > 0) {
ICayennePersister cayenne = LinkRestRuntime.service(ICayennePersister.class, config);
ObjectContext context = cayenne.newContext();
Project p = ObjectSelect.query(Project.class, Project.NAME.eq(project)).selectOne(context);
result = SearchUtilities.filterSearchForProject(result, p, recursiveParents);
}
return result;
}
示例15: getByRead
import org.apache.cayenne.query.ObjectSelect; //导入依赖的package包/类
/**
* Search for a concept by using Read code
*/
@GET
@Path("read/{readCode}")
public DataResponse<Long> getByRead(@PathParam("readCode") String readCode,
@Context UriInfo uriInfo) {
ICayennePersister cayenne = LinkRestRuntime.service(ICayennePersister.class, config);
ObjectContext context = cayenne.newContext();
Expression qual = Concept.CTV_ID.startsWith(readCode);
List<Concept> concepts = ObjectSelect.query(Concept.class, qual).select(context);
List<Long> results = concepts.stream().map(c -> c.getConceptId()).collect(Collectors.toList());
return responseWithList(results);
}