private List<T> entities(String businessFieldName, String businessId) { String viewName = String.format("by_%s", businessFieldName); ViewQuery q = createQuery(viewName).key(businessId).includeDocs(true); return db.queryView(q, type); }
@GenerateView public PillRegimen findByExternalId(String externalID) { ViewQuery q = createQuery("by_externalId").key(externalID).includeDocs(true); List<PillRegimen> regimens = db.queryView(q, PillRegimen.class); return regimens.isEmpty() ? null : regimens.get(0); }
@View(name = "by_calendarName", map = "function(doc) { if (doc.type === 'CouchDbCalendar') emit(doc.name, doc._id); }") public CouchDbCalendar get(String calName) { List<CouchDbCalendar> calendars = db.queryView(createQuery("by_calendarName").key(calName).includeDocs(true), type); return calendars != null && calendars.size() > 0 ? calendars.get(0) : null; }
@Override @View(name = "by_encounterId", map = "function(doc) { if (doc.type ==='Encounter') { emit(doc.encounterId, doc._id); }}") public CouchEncounterImpl findEncounterById(String encounterId) { if (encounterId == null) { return null; } ViewQuery viewQuery = createQuery("by_encounterId").key(encounterId).includeDocs(true); List<CouchEncounterImpl> encounters = db.queryView(viewQuery, CouchEncounterImpl.class); return (encounters == null || encounters.size() == 0) ? null : encounters.get(0); }
@Override @View(name = "find_encounter_by_observation_id", map = "function (doc) { if (doc.type === 'Encounter') for each(item in doc.observations) { emit(item.observationId); recursiveDescent(item); } function recursiveDescent(obsNode) { for each(item in obsNode.dependantObservations) { emit(item.observationId); recursiveDescent(item) }}}") public CouchEncounterImpl findEncounterByObservationId(String observationId) { ViewQuery viewQuery = createQuery("find_encounter_by_observation_id").key(observationId).includeDocs(true); List<CouchEncounterImpl> encounters = db.queryView(viewQuery, CouchEncounterImpl.class); return encounters.isEmpty() ? null : encounters.get(0); }
@View(name = "all_jobs", map = "function(doc) { if (doc.type === 'CouchDbJobDetail') emit(doc._id, doc._id); }") public List<CouchDbJobDetail> getAll() { return db.queryView(createQuery("all_jobs").includeDocs(true), type); }
@View(name = "by_triggerGroupName", map = "function(doc) { if (doc.type === 'CouchDbTrigger') emit(doc.group, doc._id); }") public List<String> getTriggerGroupNames() { return new ArrayList<String>(new HashSet<String>(extract(db.queryView(createQuery("by_triggerGroupName").includeDocs(true), type), on(CouchDbTrigger.class).getGroup()))); }
@Override @View(name = "by_providerId", map = "function(doc) { if (doc.type ==='Provider') { emit(doc.providerId, doc._id); }}") public List<CouchProviderImpl> findByProviderId(String providerId) { if (providerId == null) { return Collections.emptyList(); } ViewQuery viewQuery = createQuery("by_providerId").key(providerId).includeDocs(true); return db.queryView(viewQuery, CouchProviderImpl.class); }
protected List<T> getAll(int limit) { ViewQuery q = createQuery("all").limit(limit).includeDocs(true); return db.queryView(q, type); }
public List<T> queryViewWithKeyList(String viewName, List<String> keys) { return db.queryView(createQuery(viewName) .includeDocs(true) .keys(keys), type); } }
public CouchDbDatabaseDocumentSource(CouchDbInstance couchDbInstance, String databaseName, int maxRows) { _couchDbInstance = couchDbInstance; _databaseName = databaseName; _closed = new AtomicBoolean(false); final CouchDbConnector tableConnector = _couchDbInstance.createConnector(databaseName, false); if (maxRows > -1) { _view = tableConnector.queryForStreamingView(new ViewQuery().allDocs().includeDocs(true).limit(maxRows)); } else { _view = tableConnector.queryForStreamingView(new ViewQuery().allDocs().includeDocs(true)); } _rowIterator = _view.iterator(); }
@Override @View(name = "by_locationName", map = "function(doc) { if (doc.type ==='Facility') { emit(doc.name, doc._id); }}") public List<CouchFacility> findByLocationName(String locationName) { if (locationName == null) { return null; } ViewQuery viewQuery = createQuery("by_locationName").key(locationName).includeDocs(true); return db.queryView(viewQuery, CouchFacility.class); } }
@Override @View(name = "find_by_role", map = "function(doc) {if (doc.type ==='MotechUser') {for(i in doc.roles) {emit(doc.roles[i], [doc._id]);}}}") public List<? extends MotechUser> findByRole(String role) { if (role == null) { return null; } ViewQuery viewQuery = createQuery("find_by_role").key(role).includeDocs(true); return db.queryView(viewQuery, MotechUserCouchdbImpl.class); }
@View(name = "by_triggerkey", map = "function(doc) { if (doc.type === 'CouchDbTrigger') emit([doc.trigger_name, doc.trigger_group], doc._id); }") public List<CouchDbTrigger> getTriggersByKeys(List<TriggerKey> triggerKeys) throws JobPersistenceException { List<ComplexKey> keys = new ArrayList<ComplexKey>(); for (TriggerKey triggerKey : triggerKeys) { keys.add(ComplexKey.of(triggerKey.getName(), triggerKey.getGroup())); } return db.queryView(createQuery("by_triggerkey").includeDocs(true).keys(keys), type); }
@Override @View(name = "by_personId", map = "function(doc) { if (doc.type ==='Person') { emit(doc._id, null); }}") public List<CouchPerson> findByPersonId(String personId) { if (personId == null) { return null; } ViewQuery viewQuery = createQuery("by_personId").key(personId).includeDocs(true); return db.queryView(viewQuery, CouchPerson.class); }
@Override @View(name = "by_facilityId", map = "function(doc) { if (doc.type ==='Facility') { emit(doc.facilityId, doc._id); }}") public List<CouchFacility> findByFacilityId(String facilityId) { if (facilityId == null) { return null; } ViewQuery viewQuery = createQuery("by_facilityId").key(facilityId).includeDocs(true); return db.queryView(viewQuery, CouchFacility.class); }
@Override @View(name = "by_motechId", map = "function(doc) { if (doc.type ==='Patient') { emit(doc.motechId, doc._id); }}") public List<CouchPatientImpl> findByMotechId(String motechId) { if (motechId == null) { return null; } ViewQuery viewQuery = createQuery("by_motechId").key(motechId).includeDocs(true); return db.queryView(viewQuery, CouchPatientImpl.class); }
@Override @View(name = "by_motechId", map = "function(doc) { if (doc.type ==='MotechIdReservation') { emit(doc._id, doc._id); }}") public MotechIdReservation findByMotechId(String motechId) { if (motechId == null) { return null; } ViewQuery viewQuery = createQuery("by_motechId").key(motechId).includeDocs(true); return getFirst(db.queryView(viewQuery, MotechIdReservation.class)); }
@View(name = "by_property", map = "function(doc) { \n" + " if (doc.type === 'AppointmentCalendar') {\n" + " for (var i = 0; i < doc.visits.length; i++) {\n" + " for (var prop in doc.visits[i].data)\n" + " emit([prop, doc.visits[i].data[prop]], {\"externalId\" :doc.externalId,\"visit\" : doc.visits[i]});\n" + " }\n" + " }\n" + "}\n") public List<VisitResponse> findByMetadataProperty(String property, String value) { List<VisitQueryResult> visitQueryResults = db.queryView(createQuery("by_property").key(ComplexKey.of(property, value)).includeDocs(false), VisitQueryResult.class); return extractVisitResponse(visitQueryResults); }
@View(name = "by_jobkey", map = "function(doc) { if (doc.type === 'CouchDbTrigger') emit([doc.job_name, doc.job_group], doc._id); }") public List<CouchDbTrigger> findByJob(JobKey jobKey) { return db.queryView(createQuery("by_jobkey").key(ComplexKey.of(jobKey.getName(), jobKey.getGroup())).includeDocs(true), type); }