IRC Chat : 2008-03-13 - OpenMRS

00:01:24 *** r0bby has quit IRC
00:04:19 *** r0bby has joined #openmrs
00:25:43 *** Keelhaul has quit IRC
04:08:46 *** jacobb has quit IRC
06:28:47 *** bwolfe has joined #openmrs
06:28:47 *** ChanServ sets mode: +o bwolfe
06:36:24 *** atomicturtle has joined #openmrs
07:13:33 *** bwolfe_ has joined #openmrs
07:13:34 *** ChanServ sets mode: +o bwolfe_
07:20:35 *** bwolfe has quit IRC
07:49:30 *** sioraiocht has joined #openmrs
07:49:30 *** ChanServ sets mode: +v sioraiocht
08:29:18 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3596]: api refactoring branch: Adding OpenmrsService interface and … <http://dev.openmrs.org/changeset/3596>
08:55:34 *** Keelhaul has joined #openmrs
09:22:10 *** bwolfe_ is now known as bwolfe
10:59:51 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3598]: -- atd * made changes to reflect changes made in dss module <http://dev.openmrs.org/changeset/3598> || OpenMRS Changesets: Changeset [3597]: -- dss * cleaned up code and added documentation <http://dev.openmrs.org/changeset/3597>
11:30:02 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3599]: -- dss * added a few more comments <http://dev.openmrs.org/changeset/3599>
12:06:38 *** pearlbear has joined #openmrs
12:13:49 *** pombreda has joined #openmrs
13:13:05 *** sioraiocht has quit IRC
13:30:26 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3600]: -- atd * cleaned up some code and added some comments <http://dev.openmrs.org/changeset/3600>
14:06:56 *** pombreda has quit IRC
14:19:09 *** pombreda has joined #openmrs
14:38:09 *** Keelhaul has quit IRC
15:30:46 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #650 (task created): Investigate strange try/catch block in HibernatePatientDAO.getPatient(Integer) <http://dev.openmrs.org/ticket/650>
15:49:35 *** Keelhaul has joined #openmrs
16:46:50 *** sioraiocht has joined #openmrs
16:46:50 *** ChanServ sets mode: +v sioraiocht
16:51:18 *** bwolfe_ has joined #openmrs
16:51:18 *** ChanServ sets mode: +o bwolfe_
16:57:44 *** bwolfe has quit IRC
17:15:43 *** pearlbear has quit IRC
17:18:00 *** pearlbear has joined #openmrs
18:12:25 *** pearlbear has quit IRC
18:27:52 *** pearlbear has joined #openmrs
19:25:36 *** bwolfe_ is now known as bwolfe
19:25:39 <bwolfe> hey pearlbear
19:26:21 <bwolfe> are you typically an irc lurker? :-)
19:29:24 <pearlbear> hi bwolfe. Yup.
19:30:00 <Keelhaul> hi
19:30:09 <pearlbear> I've been using IRC a lot. It's a great way to get and give help.
19:30:13 <Keelhaul> so, are all services gonna be redone?
19:30:15 <pearlbear> hi Keelhaul
19:30:24 <bwolfe> cool...eventually we'll have enough lurkers in here that we might have some conversations more than once a week...
19:30:38 <bwolfe> Keelhaul: yep
19:30:41 <Keelhaul> hmm
19:30:57 <Keelhaul> i guess i'll have to update my module code then
19:30:58 <bwolfe> we've divided them up...and gave ourselves a deadline of 11am tomorrow
19:31:01 <Keelhaul> oh
19:31:11 <Keelhaul> whos doing encounter and programworkflow
19:31:29 <bwolfe> Keelhaul: no methods will be deleted/changed outright. everything will be marked as deprecated and point at the new (correct) method
19:31:43 <bwolfe> brian is doing encounter -- bmckown
19:31:57 <bwolfe> darius is doing programworkflow I think
19:32:08 <bwolfe> you won't have to update your code necessarily
19:32:36 <Keelhaul> if the methods stay the same, prolly not
19:32:49 <bwolfe> you will have to change your module probably by the 1.3 release (months away). after something is marked as deprecated for a while we assume that all of the devs have seen it and had a chance to do the upgrade.
19:32:53 <Keelhaul> all mine do is call the ones from the parent class
19:32:58 <Keelhaul> and convert the object
19:33:56 <bwolfe> do you rewrite all of the encounterservice classes??
19:34:33 <Keelhaul> no, just the ones that return a collection of encounter objects
19:34:42 <Keelhaul> and then convert to my encounter objects
19:34:47 <Keelhaul> like tammy described
19:36:43 <Keelhaul> public List<org.openmrs.Encounter> getEncountersByPatientId(
19:36:43 <Keelhaul> Integer patientId, boolean includeVoided) {
19:36:43 <Keelhaul> Collection<org.openmrs.Encounter> openMRSEncounters = super
19:36:43 <Keelhaul> .getEncountersByPatientId(patientId, includeVoided);
19:36:43 <Keelhaul> return convertOpenMRSEncToModuleEnc(openMRSEncounters);
19:36:43 <Keelhaul> }
19:36:45 <Keelhaul> like that
19:42:41 *** atomicturtle has quit IRC
19:51:31 <bwolfe> interesting
19:51:40 <bwolfe> Keelhaul: can I suggest an alternative? :-)
19:51:51 <Keelhaul> sure
19:51:57 <bwolfe> AOP around the EncounterService
19:52:19 <bwolfe> with either an "after" or an "around"
19:52:34 <bwolfe> probably just an after is needed
19:52:49 <bwolfe> in that class that you wrap the EncounterService with, you get a "method" object
19:52:50 <Keelhaul> never did that before =/
19:53:17 <bwolfe> http://openmrs.org/wiki/Modules and then http://openmrs.org/wiki/OpenMRS_AOP
19:53:41 <bwolfe> check the type of the return value
19:53:56 <bwolfe> or maybe there is a method on the "method" object to check the type of the return
19:54:08 <bwolfe> if the type of the return is a collection, then you convert it and return your object
19:54:17 <bwolfe> or maybe you could always convert it
19:54:39 <bwolfe> because every method in the encoutnerservice will probably return either an encounter or a list of encounters
19:55:14 <Keelhaul> yea
19:56:45 <Keelhaul> does that really make a difference though
19:57:02 <bwolfe> it would mean you won't have to change your module for every method change in the encounter service
19:57:22 <bwolfe> and you would be guaranteed to have replaced all encounters being returned from the encounter service
19:57:30 <bwolfe> err replaced=converted
19:58:09 <Keelhaul> i'd still need to know what methods are in the service and what parameters they take
19:58:33 <bwolfe> nope
19:58:43 <bwolfe> when you AOP, it does it around every method
19:58:54 <bwolfe> see the examples on that wiki page
19:59:11 *** atomicturtle has joined #openmrs
20:00:05 <bwolfe> your aop wrapper class gets called for every method
20:00:36 <bwolfe> and you're given the return value from that method, the arguments passed to the method, and then some metadata about the method
20:00:53 <bwolfe> you can then either return the previously generated return value or you can return something new
20:01:16 <bwolfe> I need to go
20:01:20 <Keelhaul> ok
20:01:32 <Keelhaul> thanks for the advice, i'll look further into it once this thing works at all =)
20:01:32 <bwolfe> hit me up tomorrow or over the weekend and I can hopefully make that a little clearer for you :-)
20:02:03 <Keelhaul> right now, i have to figure out the web controllers =/
20:02:12 *** bwolfe has quit IRC
20:33:48 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3601]: api_refactoring: PersonService interface changes <http://dev.openmrs.org/changeset/3601>
20:41:59 *** pombreda has quit IRC
21:29:06 *** pombreda has joined #openmrs
22:40:10 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [3602]: api_refactoring branch: Refactored CohortService. (It almost compiles.) <http://dev.openmrs.org/changeset/3602>
23:50:11 *** Keelhaul has quit IRC