04:36:20 *** bwolfe has joined #openmrs-sprint
04:36:20 *** ChanServ sets mode: +o bwolfe
05:37:19 <OpenMRSBot> Recent updates in the world of openmrs: On Twitter: OpenMRS: RT @jkeiper: Happy Birthday to @openmrs wonderboy @nribeka!!! http://twitpic.com/4ll82j <http://twitter.com/OpenMRS/statuses/59848416301301760> || On Twitter: OpenMRS: RT @askanter: Shared #openmrs concept dictionary between PIH, AMPATH and Millennium Villages has big potential. Do you need a copy too? ... <http://twitter.com/OpenMRS/statuses/59848387641606144>
05:50:57 *** surangak has joined #openmrs-sprint
05:51:24 <surangak> hi Ben, r u there ?
05:52:27 <bwolfe> yes, how're you surangak ?
05:52:50 <surangak> sorry ben, ran into a spot of trouble over the last weekend
05:53:13 <surangak> I was trying to install a new VGA so that I could try out some robotics stuff
05:53:25 <surangak> the bad news is that apparently im not a very good hardware guy
05:53:29 <bwolfe> sounds like fun
05:53:37 <bwolfe> oh, hmm, well, neither am I
05:53:40 <bwolfe> :-)
05:53:43 <surangak> to keep it short, there was a slight explosion...
05:54:05 <bwolfe> wow
05:54:06 <surangak> and I have rather damaged my machine :-(
05:54:16 <bwolfe> thats sad
05:54:50 <surangak> the past few days ive been trying to get it repaired, wated to see if I can recover anything from my hard
05:55:15 <surangak> couldnt do anything much with MRS over the couple of days
05:56:43 <bwolfe> no worries
05:57:21 <surangak> good news Is i had some backups, so ill be back on air by today or tomorrow hopefully :-)
06:09:27 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (trunk): NullPointerException when getting a concept name - TRUNK-2020 <http://feedproxy.google.com/~r/OMRStrunk/~3/1qW44bE0GLY/OpenMRS>
10:02:31 *** surangak has quit IRC
13:09:57 *** aja_ has joined #openmrs-sprint
13:10:37 *** suho has joined #openmrs-sprint
13:11:58 *** downeym has joined #openmrs-sprint
13:11:58 *** ChanServ sets mode: +o downeym
13:11:59 *** OpenMRSBot sets mode: +o downeym
13:35:08 <suho> hi
13:35:46 <suho> I like to participate in sprint, is there any restriction ?
13:36:39 <bwolfe> suho: no, no restrictions.
13:36:47 <bwolfe> I don't see a wiki page for this sprint
13:36:52 <bwolfe> is there a jira homepage for it?
13:36:57 <suho> great :)
13:37:17 <suho> wiki https://wiki.openmrs.org/display/RES/2011-04-18+Development+Sprint
13:37:23 <OpenMRSBot> <http://ln-s.net/8jsB> (at wiki.openmrs.org)
13:40:43 <bwolfe> suho: most of the tickets depend on some core tickets
13:41:00 <bwolfe> there are no visit or provider objects in openmrs yet, so that needs to be the very first hting
13:41:14 <bwolfe> and I don't think anyone has done that and/or committed it yet
13:41:55 <suho> hmm
13:42:57 <suho> What am I to do.. shall I wait till someone commit ?
13:47:27 <suho> in https://tickets.openmrs.org/secure/Dashboard.jspa?selectPageId=10134
13:47:33 <OpenMRSBot> <http://ln-s.net/8jsH> (at tickets.openmrs.org)
13:48:08 <suho> I found 38 issues .. are they all depended ?
13:50:40 <bwolfe> suho: you could probably start on https://tickets.openmrs.org/browse/TRUNK-2254
13:50:54 <bwolfe> you just won't be able to call ProviderService().saveProvider()
13:51:07 <bwolfe> or getProviderService().getProviderByIdentifier(String);
13:54:39 <suho> ok I'll work on this
13:56:13 <bwolfe> suho: be sure to put your name on the wiki page too
13:56:26 <suho> yes
14:02:50 *** aja_ has quit IRC
14:06:33 *** djazayeri has joined #openmrs-sprint
14:06:33 *** ChanServ sets mode: +o djazayeri
14:08:14 <djazayeri> good morning
14:08:37 <bwolfe> mornin' darius
14:11:00 <djazayeri> suho: of course we're happy to have you participate
14:11:12 <djazayeri> there are no restrictions
14:11:51 <suho> Its my pleasure, Great :)
14:13:31 <suho> hi bwolfe, I need to add this feature (TRUNK-2254) under "Manage Users" right
14:13:37 <bwolfe> djazayeri: how much magic conversion is possible with the spring converters
14:13:47 <downeym> !ticket TRUNK-2254
14:13:47 <OpenMRSBot> downeym: Allow me to help you with that. More details on ticket TRUNK-2254 can be found at http://tickets.openmrs.org/browse/TRUNK-2254
14:14:30 <bwolfe> suho: thats fine for now. will probably move to somewhere else after the other provider stuff is added
14:14:49 <djazayeri> suho: don't do that one yet
14:14:58 <djazayeri> It depends on stuff that isn't done yet
14:15:13 <suho> ok
14:15:17 <bwolfe> djazayeri: how much magical conversion is possible using the converters? Is it possible to give spring a "from" and a "to" and it gives back a converter that we've written?
14:15:25 <bwolfe> djazayeri: he can write the parser, etc
14:15:32 <bwolfe> he just can't call the service methods
14:15:53 <djazayeri> yes, but that ticket and the multiple tickets it depends on are non-essential
14:16:05 <djazayeri> so they'll likely get dropped from the sprint, and possibly even 1.9
14:16:42 <djazayeri> suho: do trunk-2198 and trunk-2211
14:16:52 <djazayeri> (one at a time, but they're related)
14:16:53 <suho> ok then
14:17:03 <suho> ok
14:17:22 <suho> !trunk-2198
14:17:22 <OpenMRSBot> suho: Error: "trunk-2198" is not a valid command.
14:17:31 <djazayeri> !ticket trunk-2198
14:17:31 <OpenMRSBot> djazayeri: Allow me to help you with that. More details on ticket trunk-2198 can be found at http://tickets.openmrs.org/browse/trunk-2198
14:17:43 <suho> thanks:)
14:18:21 <djazayeri> bwolfe: brb, but yes, that work
14:22:28 <djazayeri> bwolfe: you can say ConversionService.convert(sourceObject, targetClass)
14:24:28 <djazayeri> It may use multiple converters to do this, e.g. it may use our String->Person converter, plus its own intenal array converter, to produce a Person[]
14:24:48 <djazayeri> so you can't necessarily get "the converter", rather you use conversionservice
14:27:07 <bwolfe> djazayeri: right. I'm to a point where I want to make the conversions magical
14:27:51 <bwolfe> so that I can say "convert a Person to a PersonResource" (with specifying the fields/representation beforehand)
14:28:30 <bwolfe> annoyingly, spring doesn't allow for an extra data element (the rep) to be passed in though
14:31:40 <djazayeri> see the patch on https://tickets.openmrs.org/browse/TRUNK-2226 for an example of how this might be done
14:32:30 <djazayeri> bwolfe: In that example I didn't create a PersonResource equivalent, rather all resources are represented just as "SimpleObject", which is really just a LinkedHashMap<String, Object>
14:33:06 <bwolfe> ok, wondered was SimpleObject was in your example...
14:33:37 <djazayeri> If you have a big batch of conversion you want to do based on annotations or xml/json mapping files, you might want to look at ConverterFactory or GenericConverter
14:42:01 *** Guest56897 has joined #openmrs-sprint
14:42:08 *** Guest56897 is now known as wyclif
14:45:08 <djazayeri> hi wyclif
14:46:04 <wyclif> hi darius
14:50:24 <djazayeri> wyclif: are you all set with the concept mapping ticket?
14:54:14 <wyclif> yes
14:54:30 <wyclif> except still i haven't yet got the list of concept map types
14:54:32 <djazayeri> okay, great
14:55:14 <wyclif> by the way, i will releasing the 1.8 RC this week
14:55:20 <wyclif> will be
14:56:00 <wyclif> so i might need at least a day off the sprint
14:56:49 <djazayeri> okay, what day are you thinking?
15:02:42 <downeym> thursday
15:08:23 <wyclif> thursday
15:12:37 <suho> hi djazayeri in trunk-2198 voidPersonName(PersonName personName) or voidPersonName(String personName)
15:12:53 <djazayeri> it should take a PersonNAme
15:13:13 <suho> so cant i use personName.setVoided(true);?
15:14:30 <djazayeri> Calling this should be the equivalent of doing: name.setVoided(true); save(name);
15:14:55 <djazayeri> i.e. it has to actually get written to the database, which doesn't happen if you merely set the voided bit
15:15:13 <suho> ok so i use personName.getPerson()
15:15:24 <suho> and then delete the name form the person ?
15:15:36 <suho> and save that ?
15:16:24 <suho> using Person.removeName(PersonName)
15:17:17 <djazayeri> look at voidRelationship(Relationship, String)
15:17:23 <djazayeri> (also in PersonServiceImpl)
15:17:27 <suho> ok thanks
15:17:46 <djazayeri> the idea is that we should be able to *just* void a PersonName, without having to edit the Person object.
15:18:41 <suho> ok i'll look that
15:18:55 <djazayeri> however when voiding a person name it *is* necessary to verify that there is still at least one non-voided name left on the person, or else it should fail.
15:19:09 <djazayeri> you may need to add a savePersonName method too.
15:23:52 <suho> yes I'll do it that way tanks
15:39:17 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Exception: permGen Space <http://forum.openmrs.org/viewtopic.php?f=8&t=779#p2954> || OpenMRS Modules: Log Manager 1.3.3 uploaded to OpenMRS Module Repository <https://dev.openmrs.org/modules/view.jsp?module=logmanager&version=&1.3.3>
16:11:23 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (concept_mappings): concept_mappings: Adding tag property to concept reference maps <http://feedproxy.google.com/~r/OMRStrunk/~3/wM_wDXmg9-o/OpenMRS> || OpenMRS Forum: Problem with Axis2 Web service <http://forum.openmrs.org/viewtopic.php?f=8&t=780#p2955>
17:10:09 <suho> hi djazayeri can you please point me where exactly voidPersonName should be used in controllers?
17:11:43 <djazayeri> suho: I don't think any controller changes need to be made at this point.
17:12:34 <suho> ok so I'll attach the patch
17:12:38 <djazayeri> Because in OpenMRS 1.x we don't have pages that specifically allow editing just a person name.
17:12:42 <djazayeri> you have to edit the whole person
17:12:45 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (1.6.x): TRUNK-1981 - In Chrome, the edit and view links on the encounters portlet on the patient dashboard don't work right... <http://feedproxy.google.com/~r/OMRStrunk/~3/ZLe-RskucUk/OpenMRS>
17:13:02 <djazayeri> (Jeremy and Rafal noticed these methods missing when they were working on example widget for OpenMRS 2.x.)
17:13:15 <djazayeri> sounds good
17:14:49 <djazayeri> bwolfe: we're about to add PersonService.voidPersonName (and I suppose PersonService.savePersonName). Previously the only way to void a name was by loading the whole person, voiding, and saving. Do you agree with adding these methods?
17:15:14 <djazayeri> The side-effect is that you'll be able to void a name without changing the dateChanged on the person it belongs to.
17:15:31 <djazayeri> suho: by the way I don't know if the ticket mentioned this, but you should add an unvoidPersonName method too.
17:15:40 <djazayeri> (same goes for the void/unvoid person address ticket)
17:15:53 <suho> ok
17:16:08 <bwolfe> yeah, thats fine.
17:16:22 <bwolfe> technically you're not changing the person. the voided bit has its own history fields on it
17:19:49 <suho> yes
17:46:59 <suho> I have attached the patch to trunk-2198
17:47:19 <suho> I'll start working on TRUNK-2211
17:55:31 <suho> hi do i need to check for any constrains in voidPersonAddress?
17:57:44 <djazayeri> suho: I made comments on 2198.
17:58:13 <djazayeri> No, there are no constraints on voidPersonAddress (i.e. a person is allowed to have zero addresses)
17:58:40 <djazayeri> btw, please say "djazayeri" if you want to get my attention, and we're not actively talking, as I may not be looking at this window.
17:59:51 <suho> djazayeri, ok thanks i'll make necessary the changes
18:04:24 <djazayeri> going offline for a bit--my apartment smells like gas. going to head to a coffee shop
18:09:41 *** djazayeri has quit IRC
18:36:13 *** aja_ has joined #openmrs-sprint
18:42:49 *** djazayeri has joined #openmrs-sprint
18:42:49 *** ChanServ sets mode: +o djazayeri
18:46:05 <bwolfe> djazayeri: are you safe now?
18:46:21 <djazayeri> hopefully no long-term brain damage. :-)
19:04:59 *** aja_ has quit IRC
19:28:25 <suho> djazayeri, since i'm not collecting the reason for void I'm getting an error at RequiredDataAdvice.java
19:28:32 <suho> in
19:28:45 <djazayeri> ah, you should be collecting a void reason.
19:28:45 <suho> } else if (methodName.startsWith("void")) {
19:28:45 <suho> Voidable voidable = (Voidable) args[0];
19:28:45 <suho> String voidReason = (String) args[1];
19:28:45 <suho> recursivelyHandle(VoidHandler.class, voidable, voidReason);
19:28:59 <suho> ok
19:29:05 <djazayeri> e.g. it should actually be voidXyz(Xyz, String reason)
19:29:28 <suho> ok done
19:30:55 *** bwolfe has quit IRC
19:55:57 <suho> hi djazayeri I have attached a patch to
19:56:12 <suho> 2198
19:56:47 <suho> https://tickets.openmrs.org/browse/TRUNK-2198
20:12:05 <djazayeri> suho: I made some more comment, mostly style points in the unit test.
20:16:05 <suho> djazayeri, Thanks for comments.. I'll make the changes
20:16:46 *** djazayeri has quit IRC
21:02:31 *** suho has quit IRC
21:17:05 *** djazayeri has joined #openmrs-sprint
21:17:05 *** ChanServ sets mode: +o djazayeri
22:30:28 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (concept_mappings): concept_mappings: Removing ability for users to select a concept source when adding reference maps <http://feedproxy.google.com/~r/OMRStrunk/~3/gu5mwenfeMc/OpenMRS>
22:50:20 *** downeym has quit IRC
22:53:07 *** wyclif has quit IRC
23:28:32 *** wyclif has joined #openmrs-sprint