Changeset 4240 for openmrs/branches/api_refactoring/src/api/org/openmrs/api/db/hibernate/HibernateConceptDAO.java
- Timestamp:
- 05/16/08 13:28:28 (4 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs/branches/api_refactoring/src/api/org/openmrs/api/db/hibernate/HibernateConceptDAO.java
r4231 r4240 16 16 import java.sql.SQLException; 17 17 import java.util.Collection; 18 import java.util.Date;19 18 import java.util.HashSet; 20 19 import java.util.Iterator; … … 56 55 57 56 /** 58 * the Hibernate class for Concepts, Drugs, and related classes 57 * The Hibernate class for Concepts, Drugs, and related classes 58 * 59 59 * @see org.openmrs.ConceptService to access these methods 60 60 */ 61 public class HibernateConceptDAO implements 62 ConceptDAO { 61 public class HibernateConceptDAO implements ConceptDAO { 63 62 64 63 protected final Log log = LogFactory.getLog(getClass()); 65 64 private SessionFactory sessionFactory; 66 67 /**68 * constructor69 */70 public HibernateConceptDAO() { }71 65 72 66 /** … … 80 74 81 75 /** 82 * 83 * Updates or creates a concept 84 * @see ConceptService.saveConcept() 85 * @param concept 86 * @throws DAOException 87 * @returns Concept 76 * @see org.openmrs.api.db.ConceptDAO#saveConcept(org.openmrs.Concept) 88 77 */ 89 78 public Concept saveConcept(Concept concept) throws DAOException { … … 95 84 96 85 /** 97 * @see org.openmrs.api.db.ConceptService#deleteConcept(org.openmrs.Concept) 98 * @param Concept concept 99 * @throws DAOException 86 * @see org.openmrs.api.db.ConceptDAO#purgeConcept(org.openmrs.Concept) 100 87 */ 101 88 public void purgeConcept(Concept concept) throws DAOException { 89 // must delete all the stored concept words first 102 90 sessionFactory.getCurrentSession().createQuery("delete from ConceptWord where concept_id = :c") 103 91 .setInteger("c", concept.getConceptId()) 104 .executeUpdate(); 92 .executeUpdate(); 93 94 // now we can safely delete the concept 105 95 sessionFactory.getCurrentSession().delete(concept); 106 96 } 107 108 109 /** 110 * @see org.openmrs.api.db.ConceptService#getConcept(java.lang.Integer) 97 98 /** 99 * @see org.openmrs.api.db.ConceptDAO#getConcept(java.lang.Integer) 111 100 */ 112 101 public Concept getConcept(Integer conceptId) throws DAOException { … … 115 104 116 105 /** 117 * @see org.openmrs.api.db.Concept Service#getConcept(java.lang.Integer)106 * @see org.openmrs.api.db.ConceptDAO#getConceptAnswer(java.lang.Integer) 118 107 */ 119 108 public ConceptAnswer getConceptAnswer(Integer conceptAnswerId) throws DAOException { … … 122 111 123 112 /** 124 * @see org.openmrs.api.db.ConceptDAO#get Concepts(java.lang.String, boolean, boolean)125 */ 126 @SuppressWarnings("unchecked") 127 public List<Concept> get Concepts(String sortBy, boolean asc, boolean includeRetired) throws DAOException {113 * @see org.openmrs.api.db.ConceptDAO#getAllConcepts(java.lang.String, boolean, boolean) 114 */ 115 @SuppressWarnings("unchecked") 116 public List<Concept> getAllConcepts(String sortBy, boolean asc, boolean includeRetired) throws DAOException { 128 117 String sql = "from Concept concept"; 129 118 … … 152 141 153 142 /** 154 * @see org.openmrs.api.db. DrugService#saveDrug(org.openmrs.Drug)143 * @see org.openmrs.api.db.ConceptDAO#saveDrug(org.openmrs.Drug) 155 144 */ 156 145 public Drug saveDrug(Drug drug) throws DAOException { 157 if (drug.getDateCreated() == null)158 drug.setDateCreated(new Date());159 146 sessionFactory.getCurrentSession().saveOrUpdate(drug); 160 147 return drug; 161 148 } 162 149 163 164 /** 165 * @see org.openmrs.api.db.ConceptService#getDrug(java.lang.Integer) 150 /** 151 * @see org.openmrs.api.db.ConceptDAO#getDrug(java.lang.Integer) 166 152 */ 167 153 public Drug getDrug(Integer drugId) throws DAOException { … … 169 155 } 170 156 171 172 /** 173 * @see org.openmrs.api.db.ConceptService#getDrugs(org.openmrs.Concept) 174 */ 175 @SuppressWarnings("unchecked") 176 public List<Drug> getDrugs(String drugName, Concept concept, boolean includeVoided) throws DAOException { 157 /** 158 * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String, org.openmrs.Concept, boolean) 159 */ 160 @SuppressWarnings("unchecked") 161 public List<Drug> getDrugs(String drugName, Concept concept, boolean includeRetired) throws DAOException { 177 162 Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); 178 if (include Voided == false)179 searchCriteria.add(Expression.eq("drug. voided", false));163 if (includeRetired == false) 164 searchCriteria.add(Expression.eq("drug.retired", false)); 180 165 if (concept != null) 181 166 searchCriteria.add(Expression.eq("drug.concept", concept)); … … 185 170 } 186 171 187 188 /** 189 * @see org.openmrs.api.db.ConceptService#findDrugs(java.lang.String,boolean) 190 */ 191 @SuppressWarnings("unchecked") 192 public List<Drug> getDrugs(String phrase, boolean includeRetired) throws DAOException { 172 /** 173 * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String) 174 */ 175 @SuppressWarnings("unchecked") 176 public List<Drug> getDrugs(String phrase) throws DAOException { 193 177 List<String> words = ConceptWord.getUniqueWords(phrase); 194 178 List<Drug> conceptDrugs = new Vector<Drug>(); … … 197 181 198 182 Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); 199 if (includeRetired == false) {200 searchCriteria.add(Expression.eq("drug.voided", false));201 }183 184 searchCriteria.add(Expression.eq("drug.voided", false)); 185 202 186 Iterator<String> word = words.iterator(); 203 187 searchCriteria.add(Expression.like("name", word.next(), MatchMode.ANYWHERE)); … … 214 198 } 215 199 216 217 /** 218 * @see org.openmrs.api.db.ConceptService#getConceptClass(java.lang.Integer) 200 /** 201 * @see org.openmrs.api.db.ConceptDAO#getConceptClass(java.lang.Integer) 219 202 */ 220 203 public ConceptClass getConceptClass(Integer i) throws DAOException { 221 204 return (ConceptClass)sessionFactory.getCurrentSession().get(ConceptClass.class, i); 222 205 } 223 224 225 /** 226 * @see org.openmrs.api.db.ConceptService#getConceptClassByName(java.lang.String) 206 207 /** 208 * @see org.openmrs.api.db.ConceptDAO#getConceptClasses(java.lang.String) 227 209 */ 228 210 @SuppressWarnings("unchecked") … … 230 212 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptClass.class); 231 213 if (name != null) 232 crit.add(Expression.eq("name", name));214 crit.add(Expression.eq("name", name)); 233 215 return crit.list(); 234 216 } 235 236 /** 237 * 238 * Updates or creates a ConceptClass 239 * @see ConceptService.saveConceptClass() 240 * @param ConceptClass cc 241 * @throws DAOException 242 * @returns ConceptClass 217 218 /** 219 * @see org.openmrs.api.db.ConceptDAO#getAllConceptClasses(boolean) 220 */ 221 @SuppressWarnings("unchecked") 222 public List<ConceptClass> getAllConceptClasses(boolean includeRetired) throws DAOException { 223 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptClass.class); 224 225 if (includeRetired = false) 226 crit.add(Expression.eq("retired", false)); 227 228 return crit.list(); 229 } 230 231 /** 232 * @see org.openmrs.api.db.ConceptDAO#saveConceptClass(org.openmrs.ConceptClass) 243 233 */ 244 234 public ConceptClass saveConceptClass(ConceptClass cc) throws DAOException { … … 248 238 249 239 /** 250 * 251 * Purges a ConceptClass object from the database 252 * 253 * @return voied 254 * @param cc 255 * @throws DAOException 240 * @see org.openmrs.api.db.ConceptDAO#purgeConceptClass(org.openmrs.ConceptClass) 256 241 */ 257 242 public void purgeConceptClass(ConceptClass cc) throws DAOException { … … 261 246 sessionFactory.getCurrentSession().delete(cc); 262 247 } 263 264 265 /** 266 * @see org.openmrs.api.db.ConceptService#getConceptDatatype(java.lang.Integer) 248 249 /** 250 * @see org.openmrs.api.db.ConceptDAO#getConceptDatatype(java.lang.Integer) 267 251 */ 268 252 public ConceptDatatype getConceptDatatype(Integer i) { … … 270 254 } 271 255 272 273 /** 274 * @see org.openmrs.api.db.ConceptService#getConceptDatatypes() 275 */ 276 @SuppressWarnings("unchecked") 277 public List<ConceptDatatype> getConceptDatatypes() { 278 return sessionFactory.getCurrentSession().createQuery("from ConceptDatatype cd order by cd.name").list(); 279 } 280 281 /** 282 * 256 /** 257 * @see org.openmrs.api.db.ConceptDAO#getAllConceptDatatypes(boolean) 258 */ 259 public List<ConceptDatatype> getAllConceptDatatypes(boolean includeRetired) 260 throws DAOException { 261 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptDatatype.class); 262 263 if (includeRetired == false) 264 crit.add(Expression.eq("retired", false)); 265 266 return crit.list(); 267 } 268 269 /** 270 * @see org.openmrs.api.db.ConceptDAO#getConceptDatatypes(java.lang.String) 271 */ 272 public List<ConceptDatatype> getConceptDatatypes(String name) 273 throws DAOException { 274 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptDatatype.class); 275 276 if (name != null) 277 crit.add(Expression.like("name", name, MatchMode.START)); 278 279 return crit.list(); 280 } 281 282 /** 283 283 * @see org.openmrs.api.db.ConceptDAO#saveConceptDatatype(org.openmrs.ConceptDatatype) 284 284 */ … … 289 289 290 290 /** 291 *292 291 * @see org.openmrs.api.db.ConceptDAO#purgeConceptDatatype(org.openmrs.ConceptDatatype) 293 292 */ … … 297 296 298 297 /** 299 * @see org.openmrs.api.db.Concept Service#getConceptNumeric(java.lang.Integer)298 * @see org.openmrs.api.db.ConceptDAO#getConceptNumeric(java.lang.Integer) 300 299 */ 301 300 public ConceptNumeric getConceptNumeric(Integer i) { … … 318 317 319 318 /** 320 * 321 * @see org.openmrs.api.db.ConceptDAO#getConcepts(java.lang.String, java.util.Locale, boolean, boolean) 322 */ 323 @SuppressWarnings("unchecked") 324 public List<Concept> getConcepts(String name, Locale loc, boolean includeRetired, boolean searchOnPhrase) throws DAOException { 325 if (searchOnPhrase) 326 name = "%" + name + "%"; 327 String sql = " from Concept c join c.names names where names.name like ? "; 328 if (!includeRetired){ 329 sql += " and c.retired = false "; 330 } 331 if (loc != null){ 332 String locale = loc.getLanguage().substring(0, 2); 333 sql += " and names.locale = '" + locale + "'"; 334 } else { 335 throw new DAOException("Locale must be not null for HibernateConceptDAO.getConcepts(name, loc, includeRetired)"); 336 } 337 Query query = sessionFactory.getCurrentSession().createQuery(sql); 338 if (name == null) 339 name = ""; 340 query.setString(0, name); 341 return query.list(); 342 } 343 344 /** 345 * 346 * @see org.openmrs.api.db.ConceptDAO#getConcepts(java.lang.String, java.util.Locale, boolean, java.util.List, java.util.List, java.util.List, java.util.List, java.lang.Integer, java.lang.Integer) 347 */ 348 @SuppressWarnings("unchecked") 349 public List<ConceptWord> getConcepts(String phrase, List<Locale> locales, boolean includeRetired, 319 * @see org.openmrs.api.db.ConceptDAO#getConcepts(java.lang.String, java.util.Locale, boolean, java.util.List, java.util.List) 320 */ 321 @SuppressWarnings("unchecked") 322 public List<Concept> getConcepts(String name, Locale loc, boolean searchOnPhrase, List<ConceptClass> classes, List<ConceptDatatype> datatypes) throws DAOException { 323 324 Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Concept.class); 325 326 criteria.add(Expression.eq("retired", false)); 327 328 if (name != null) { 329 if (loc == null) 330 throw new DAOException("Locale must be not null"); 331 332 criteria.createAlias("names", "names"); 333 MatchMode matchmode = MatchMode.EXACT; 334 if (searchOnPhrase) 335 matchmode = MatchMode.ANYWHERE; 336 337 criteria.add(Expression.like("names.name", name, matchmode)); 338 criteria.add(Expression.eq("names.locale", loc.getLanguage().substring(0, 2))); 339 } 340 341 if (classes.size() > 0) 342 criteria.add(Expression.in("conceptClasses", classes)); 343 344 if (datatypes.size() > 0) 345 criteria.add(Expression.in("conceptDatatypes", datatypes)); 346 347 return criteria.list(); 348 } 349 350 /** 351 * @see org.openmrs.api.db.ConceptDAO#getConceptWords(java.lang.String, java.util.List, boolean, java.util.List, java.util.List, java.util.List, java.util.List, org.openmrs.Concept, java.lang.Integer, java.lang.Integer) 352 */ 353 @SuppressWarnings("unchecked") 354 public List<ConceptWord> getConceptWords(String phrase, List<Locale> locales, boolean includeRetired, 350 355 List<ConceptClass> requireClasses, List<ConceptClass> excludeClasses, 351 List<ConceptDatatype> requireDatatypes, List<ConceptDatatype> excludeDatatypes, 352 Integer start, Integer size) 356 List<ConceptDatatype> requireDatatypes, List<ConceptDatatype> excludeDatatypes, Concept answersToConcept, 357 Integer start, Integer size) throws DAOException 353 358 { 354 359 … … 356 361 List<String> words = ConceptWord.getUniqueWords(phrase); //assumes getUniqueWords() removes quote(') characters. (otherwise we would have a security leak) 357 362 363 // these are the answers to restrict on 364 List<Concept> answers = new Vector<Concept>(); 365 366 if (answersToConcept.getAnswers() != null) { 367 for (ConceptAnswer conceptAnswer : answersToConcept.getAnswers()) { 368 answers.add(conceptAnswer.getAnswerConcept()); 369 } 370 } 371 358 372 List<ConceptWord> conceptWords = new Vector<ConceptWord>(); 359 373 … … 362 376 Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(ConceptWord.class, "cw1"); 363 377 searchCriteria.add(Expression.in("locale", locales)); 378 364 379 if (includeRetired == false) { 365 380 searchCriteria.createAlias("concept", "concept"); 366 381 searchCriteria.add(Expression.eq("concept.retired", false)); 367 382 } 383 384 // Only restrict on answers if there are any 385 if (!answers.isEmpty()) 386 searchCriteria.add(Expression.in("cw1.concept", answers)); 387 368 388 Iterator<String> word = words.iterator(); 369 389 searchCriteria.add(Expression.like("word", word.next(), MatchMode.START)); … … 371 391 while (word.hasNext()) { 372 392 String w = word.next(); 373 log.debug(w); 393 394 if (log.isDebugEnabled()) 395 log.debug("Current word: " + w); 396 374 397 DetachedCriteria crit = DetachedCriteria.forClass(ConceptWord.class) 375 398 .setProjection(Property.forName("concept")) … … 393 416 searchCriteria.add(Expression.not(Expression.in("concept.datatype", excludeDatatypes))); 394 417 395 396 418 searchCriteria.addOrder(Order.asc("synonym")); 397 419 conceptWords = searchCriteria.list(); 420 421 // trim down the list 422 // TODO: put this in the criteria object? 398 423 if (start != null && size != null){ 399 List<ConceptWord> subList = conceptWords.subList(start, start + size);400 return subList;401 } 402 } 403 404 log.debug("ConceptWords found: " + conceptWords.size());405 424 List<ConceptWord> subList = conceptWords.subList(start, start + size); 425 return subList; 426 } 427 } 428 429 if (log.isDebugEnabled()) 430 log.debug("ConceptWords found: " + conceptWords.size()); 406 431 407 432 return conceptWords; … … 409 434 410 435 /** 411 * 412 * @see org.openmrs.api.db.ConceptDAO#findConceptAnswers(java.lang.String, java.util.Locale, org.openmrs.Concept, boolean) 413 */ 414 @SuppressWarnings("unchecked") 415 public List<ConceptWord> findConceptAnswers(String phrase, Locale loc, Concept concept, boolean includeRetired) { 416 String locale = loc.getLanguage().substring(0, 2); //only get language portion of locale 417 List<String> words = ConceptWord.getUniqueWords(phrase); //assumes getUniqueWords() removes quote(') characters. (otherwise we would have a security leak) 418 419 // default return list 420 List<ConceptWord> conceptWords = new Vector<ConceptWord>(); 421 422 // these are the answers to restrict on 423 List<Concept> answers = new Vector<Concept>(); 424 425 if (concept.getAnswers() != null) 426 for (ConceptAnswer conceptAnswer : concept.getAnswers()) { 427 answers.add(conceptAnswer.getAnswerConcept()); 428 } 429 430 // by default, we will return all of the concept's answers 431 // however, if there are no answers, return nothing by default 432 if (words.size() > 0 || !answers.isEmpty()) { 433 Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(ConceptWord.class, "cw1"); 434 searchCriteria.add(Restrictions.eq("locale", locale)); 435 if (includeRetired == false) { 436 searchCriteria.createAlias("concept", "concept"); 437 searchCriteria.add(Expression.eq("concept.retired", false)); 438 } 439 440 // Only modification from standard word search 441 // Only restrict on answers if there are any 442 if (!answers.isEmpty()) 443 searchCriteria.add(Expression.in("cw1.concept", answers)); 444 445 // if the user typed in a phrase, restrict further 446 if (words.size() > 0) { 447 Iterator<String> word = words.iterator(); 448 searchCriteria.add(Expression.like("word", word.next(), MatchMode.START)); 449 Conjunction junction = Expression.conjunction(); 450 while (word.hasNext()) { // add 'and' expression for _each word_ in search phrase 451 String w = word.next(); 452 log.debug(w); 453 DetachedCriteria crit = DetachedCriteria.forClass(ConceptWord.class) 454 .setProjection(Property.forName("concept")) 455 .add(Expression.eqProperty("concept", "cw1.concept")) 456 .add(Restrictions.like("word", w, MatchMode.START)) 457 .add(Restrictions.eq("locale", locale)); 458 junction.add(Subqueries.exists(crit)); 459 } 460 searchCriteria.add(junction); 461 } 462 463 searchCriteria.addOrder(Order.asc("synonym")); 464 conceptWords = searchCriteria.list(); 465 } 466 467 return conceptWords; 468 } 469 470 /** 471 * @see org.openmrs.api.db.ConceptService#getQuestionsForAnswer(org.openmrs.Concept) 436 * gets questions for the given answer concept 437 * @see org.openmrs.api.db.ConceptDAO#getConceptsByAnswer(org.openmrs.Concept) 472 438 */ 473 439 @SuppressWarnings("unchecked") … … 482 448 483 449 /** 484 * @see org.openmrs.api.db.Concept Service#getNextConcept(org.openmrs.Concept, java.lang.Integer)450 * @see org.openmrs.api.db.ConceptDAO#getPrevConcept(org.openmrs.Concept) 485 451 */ 486 452 @SuppressWarnings("unchecked") … … 500 466 501 467 /** 502 * @see org.openmrs.api.db.Concept Service#getNextConcept(org.openmrs.Concept, java.lang.Integer)468 * @see org.openmrs.api.db.ConceptDAO#getNextConcept(org.openmrs.Concept) 503 469 */ 504 470 @SuppressWarnings("unchecked") … … 518 484 519 485 /** 520 *521 486 * @see org.openmrs.api.db.ConceptDAO#getNextAvailableId() 522 487 */ … … 551 516 552 517 /** 553 * @see org.openmrs.api.db.ConceptDAO#getConcepts(org.openmrs.ConceptClass, boolean) 554 */ 555 @SuppressWarnings("unchecked") 556 public List<Concept> getConcepts(ConceptClass cc, boolean includeRetired) { 557 Criteria crit = sessionFactory.getCurrentSession().createCriteria(Concept.class); 558 crit.add(Expression.eq("conceptClass", cc)); 559 crit.add(Expression.eq("retired", includeRetired)); 560 return crit.list(); 561 } 562 563 /** 564 * @see org.openmrs.api.db.ConceptDAO#getConceptsWithDrugsInFormulary(boolean) 565 */ 566 @SuppressWarnings("unchecked") 567 public List<Concept> getConceptsWithDrugsInFormulary(boolean includeVoided) { 568 Query query = sessionFactory.getCurrentSession().createQuery("select distinct concept from Drug where voided = false").setEntity(0, includeVoided); 518 * @see org.openmrs.api.db.ConceptDAO#getConceptsWithDrugsInFormulary() 519 */ 520 @SuppressWarnings("unchecked") 521 public List<Concept> getConceptsWithDrugsInFormulary() { 522 Query query = sessionFactory.getCurrentSession().createQuery("select distinct concept from Drug where retired = false"); 569 523 return query.list(); 570 524 } 571 525 572 573 /** 574 * 575 * Deletes a drug from the drug table permanently 576 * @use ConceptService.purgeDrug(Drug) 577 * @param drug 578 * @throws DAOException 526 /** 527 * @see org.openmrs.api.db.ConceptDAO#purgeDrug(org.openmrs.Drug) 579 528 */ 580 529 public void purgeDrug(Drug drug) throws DAOException { 581 530 sessionFactory.getCurrentSession().delete(drug); 582 531 } 583 584 585 /** 586 * 532 533 /** 587 534 * @see org.openmrs.api.db.ConceptDAO#updateConceptWord(org.openmrs.Concept) 588 535 */ … … 618 565 */ 619 566 @SuppressWarnings("unchecked") 620 p ublicvoid deleteConceptWord(Concept concept) throws DAOException {567 private void deleteConceptWord(Concept concept) throws DAOException { 621 568 if (concept != null) { 622 569 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptWord.class); … … 638 585 639 586 /** 640 * @see org.openmrs.api.db.ConceptDAO# updateConceptProposal(org.openmrs.ConceptProposal)587 * @see org.openmrs.api.db.ConceptDAO#saveConceptProposal(org.openmrs.ConceptProposal) 641 588 */ 642 589 public ConceptProposal saveConceptProposal(ConceptProposal cp) throws DAOException { … … 646 593 647 594 /** 648 * @see org.openmrs.api.db.ConceptDAO# updateConceptProposal(org.openmrs.ConceptProposal)595 * @see org.openmrs.api.db.ConceptDAO#purgeConceptProposal(org.openmrs.ConceptProposal) 649 596 */ 650 597 public void purgeConceptProposal(ConceptProposal cp) throws DAOException { … … 654 601 655 602 /** 656 * @see org.openmrs.api.db.Concept Service#getConceptProposals(boolean)657 */ 658 @SuppressWarnings("unchecked") 659 public List<ConceptProposal> get ConceptProposals(boolean includeCompleted) throws DAOException {603 * @see org.openmrs.api.db.ConceptDAO#getAllConceptProposals(boolean) 604 */ 605 @SuppressWarnings("unchecked") 606 public List<ConceptProposal> getAllConceptProposals(boolean includeCompleted) throws DAOException { 660 607 Criteria crit = sessionFactory.getCurrentSession().createCriteria(ConceptProposal.class); 661 608 … … 668 615 669 616 /** 670 * @see org.openmrs.api.db.Concept Service#getConceptProposal(java.lang.Integer)617 * @see org.openmrs.api.db.ConceptDAO#getConceptProposal(java.lang.Integer) 671 618 */ 672 619 public ConceptProposal getConceptProposal(Integer conceptProposalId) throws DAOException { … … 675 622 676 623 /** 677 * @see org.openmrs.api.db.Concept Service#findMatchingConceptProposals(java.lang.String)624 * @see org.openmrs.api.db.ConceptDAO#getConceptProposals(java.lang.String) 678 625 */ 679 626 @SuppressWarnings("unchecked") … … 686 633 687 634 /** 688 * @see org.openmrs.api.db.Concept Service#findProposedConcepts(java.lang.String)635 * @see org.openmrs.api.db.ConceptDAO#getProposedConcepts(java.lang.String) 689 636 */ 690 637 @SuppressWarnings("unchecked") … … 700 647 701 648 /** 702 * @see org.openmrs.api.db.Concept Service#getConceptSets(java.lang.Integer)703 */ 704 @SuppressWarnings("unchecked") 705 public List<ConceptSet> getConceptSets (Concept concept) {649 * @see org.openmrs.api.db.ConceptDAO#getConceptSetsByConcept(org.openmrs.Concept) 650 */ 651 @SuppressWarnings("unchecked") 652 public List<ConceptSet> getConceptSetsByConcept(Concept concept) { 706 653 return sessionFactory.getCurrentSession().createCriteria(ConceptSet.class) 707 654 .add(Restrictions.eq("conceptSet", concept)) … … 711 658 712 659 /** 713 * @see org.openmrs.api. ConceptService#getSetsContainingConcept(org.openmrs.Concept)660 * @see org.openmrs.api.db.ConceptDAO#getSetsContainingConcept(org.openmrs.Concept) 714 661 */ 715 662 @SuppressWarnings("unchecked") … … 722 669 //TODO: eventually, this method should probably just run updateConceptSetDerived(Concept) inside an iteration of all concepts... (or something else less transactionally-intense) 723 670 /** 724 *725 671 * @see org.openmrs.api.db.ConceptDAO#updateConceptSetDerived() 726 672 */ … … 784 730 785 731 /** 786 *787 732 * @see org.openmrs.api.db.ConceptDAO#updateConceptSetDerived(org.openmrs.Concept) 788 733 */ … … 827 772 828 773 /** 829 * 830 * returns a list of n-generations of parents of a concept in a concept set 774 y * returns a list of n-generations of parents of a concept in a concept set 831 775 * 832 776 * @param Concept current