IRC Chat : 2011-11-20 - OpenMRS

00:00:56 * r-friedman is checking connectivity
00:01:49 <r-friedman> djazayeri: or is that related to the fact that order is really a superclass core object
00:02:13 <djazayeri> r-friedman: no, the pojo shouldn't have utility methods
00:02:29 <djazayeri> the idea is that the objects are dumb and the service is smart
00:02:52 <r-friedman> should a superclass core object exist at all? or only its subclasses?
00:02:59 <djazayeri> (Ruby on Rails acolytes would say that this is wrong...)
00:03:08 <djazayeri> superclass for what?
00:03:22 <djazayeri> if you have multiple things that share *implementation* details use a superclass.
00:03:26 <r-friedman> it doesn't look like we have had much success with Hibernate and subclasses
00:04:07 <r-friedman> person/user didn't work so hot
00:04:11 <djazayeri> Generally, though, the people prefer to use *interfaces* (and those can have hierarchies)
00:04:18 <djazayeri> yeah, hibernate doesn't handle them well
00:04:25 <djazayeri> As we implemented them.
00:04:36 <r-friedman> looks like order is trying to use subclasses
00:05:07 <djazayeri> Yes. Once you've got Order as a concrete class you don't have a choice.
00:05:34 <djazayeri> In retrospect, having Person as an interface, and Patient implements Person might have worked better.
00:05:59 <r-friedman> and similarly order as an interface
00:06:25 <r-friedman> but right now it's got some methods involving <ord extends order>
00:08:43 <r-friedman> ok, well I think I undrestand my tasks
00:08:57 <r-friedman> tks djazayeri
00:09:01 <djazayeri> np
03:09:57 <r-friedman> niteall
03:10:01 *** r-friedman has quit IRC
05:32:40 *** deadpool has quit IRC
06:54:08 *** bwolfe has joined #openmrs
06:54:08 *** ChanServ sets mode: +o bwolfe
07:24:47 *** djazayeri has quit IRC
07:27:12 *** bryq has joined #openmrs
07:27:12 *** ChanServ sets mode: +v bryq
07:32:19 *** djazayeri has joined #openmrs
07:32:19 *** ChanServ sets mode: +o djazayeri
08:16:33 *** bryq has quit IRC
10:05:15 *** bryq has joined #openmrs
10:05:15 *** ChanServ sets mode: +v bryq
12:44:52 *** bwolfe has quit IRC
12:46:04 *** bwolfe has joined #openmrs
12:46:04 *** ChanServ sets mode: +o bwolfe
13:27:47 *** Echidna has quit IRC
13:28:03 *** Echidna has joined #openmrs
13:28:03 *** ChanServ sets mode: +v Echidna
14:19:09 *** bwolfe has quit IRC
14:19:27 *** bwolfe has joined #openmrs
14:19:27 *** ChanServ sets mode: +o bwolfe
15:37:26 *** bwolfe has quit IRC
15:38:39 *** bwolfe has joined #openmrs
15:38:39 *** ChanServ sets mode: +o bwolfe
16:28:03 *** burke has joined #openmrs
16:28:03 *** ChanServ sets mode: +o burke
17:14:29 *** burke has quit IRC
17:15:11 *** dkayiwa has joined #openmrs
20:13:06 *** r-friedman has joined #openmrs
20:13:41 <r-friedman> bwolfe: hi ben, got a minute?
20:13:51 <bwolfe> yeah, give or take
20:13:57 <r-friedman> i'll take
20:14:38 <r-friedman> i'm trying to build a rest service for my module and my resource can't find the webservices imports
20:14:55 <r-friedman> like RestConstants, Resource
20:15:16 <r-friedman> I get a wavy red line under the package part of the import statement
20:15:28 <r-friedman> and the object can't be resolved
20:15:57 <r-friedman> i've tried org.openmrs.modules.webservices.rest...
20:16:08 <r-friedman> webservices.rest...
20:16:12 <r-friedman> no joy
20:16:42 <bwolfe> r-friedman, just do control-shift-o in eclipse
20:16:56 <bwolfe> and its modules should be singular
20:17:02 <bwolfe> *and modules
20:18:51 <r-friedman> bwolfe: module is singular and ctrl-shift-o doesn't show the right package, only stuff from other jars
20:19:05 <r-friedman> maybe i have a problem with the pom dependencies
20:19:11 <bwolfe> then you don't have it importing in your module correctly
20:19:32 <bwolfe> check the ws example module(s)
20:19:43 <r-friedman> well duh, but the source for this stuff is in my project
20:21:27 <r-friedman> bwolfe: in the pom dependendcies, what am i providing? a jar, source?
20:21:42 <bwolfe> should be jar I think
20:22:08 <bwolfe> what do you mean its in your project? do you mean workspace?
20:22:31 <r-friedman> yes
20:22:42 <bwolfe> https://wiki.openmrs.org/display/docs/Requiring+another+module+in+your+module
20:22:43 <OpenMRSBot> <http://ln-s.net/9-5b> (at wiki.openmrs.org)
20:22:48 <bwolfe> http://svn.openmrs.org/openmrs-modules/idgenws/trunk
20:22:54 <r-friedman> right now i've got it java-source, required
20:23:15 <r-friedman> ok, i'll check these, thanks
20:32:01 *** bwolfe has quit IRC
20:54:46 *** bryq has quit IRC
20:55:42 *** dkayiwa has left #openmrs
21:33:05 *** r-friedman has quit IRC
22:45:09 *** r-friedman has joined #openmrs
22:45:54 <r-friedman> djazayeri: hi darius, got a minute?
22:47:57 <djazayeri> hi r-friedman
22:48:02 <r-friedman> hi darius
22:48:14 <r-friedman> could you help me with a problem?
22:48:21 <djazayeri> only if it's easy
22:48:26 <djazayeri> :-)
22:48:28 <r-friedman> i'm trying to make a rest webservice
22:48:41 <r-friedman> i've got webservice.rest in my workspace
22:48:56 <r-friedman> but the compiler can't find it
22:49:03 <r-friedman> i've put the dependencies into maven
22:49:18 <r-friedman> but still no joy
22:49:28 <r-friedman> it's as if it's not in the repo\
22:49:44 *** jwishnie has joined #openmrs
22:49:52 <r-friedman> everything in my module looks just like the example module
22:50:30 *** jwishnie_ has joined #openmrs
22:54:28 *** jwishnie has quit IRC
22:54:29 *** jwishnie_ is now known as jwishnie
22:54:57 <r-friedman> djazayeri: it's enuf to piss off the pope
22:55:07 <djazayeri> oops sorry, looked away form this window, hold on
22:55:46 <djazayeri> r-friedman: you checked it out from svn, into eclipse, using the New Maven Project from SCM method?
22:56:07 <r-friedman> it being restws?
22:56:12 <djazayeri> yeah
22:56:25 <r-friedman> i imported it using maven scm
22:56:26 <djazayeri> oh, nm, you're trying to add a web service to *your* module
22:56:34 <r-friedman> yah
22:56:39 <djazayeri> and your module will depend on the restws module
22:56:53 <djazayeri> So, you added the dependency to your pom.xml?
22:56:55 <r-friedman> i need to access the Resource etc. objects
22:57:04 <r-friedman> yes, for both main and omod projects
22:59:04 <djazayeri> r-friedman: what does the dependency look like?
22:59:39 <r-friedman> <dependency><groupId>org.openmrs.module</groupId><artifactId>webservices.rest-api</artifactId><version>1.0</version><type>provided</type></dependency> <dependency><groupId>org.openmrs.module</groupId><artifactId>webservices.rest</artifactId><version>1.0</version><type>provided</type></dependency>
23:00:14 <r-friedman> well that's no so clear
23:00:33 <r-friedman> followed https://wiki.openmrs.org/display/docs/Adding+a+Web+Service+Step+by+Step+Guide+for+Module+Developers
23:01:01 <djazayeri> r-friedman: actually, do youknow if this has ever been done successfully before?
23:01:19 <r-friedman> yes, idgenws
23:01:35 <r-friedman> ben seemed pretty sure it should work
23:02:03 <r-friedman> can you see if the restws jar is in the repo?
23:02:11 <djazayeri> okay, because I just realized I've never seen a dot in a maven artifactId before
23:03:11 <djazayeri> let me try it out quickly
23:15:12 <r-friedman> message is get when i try mvn clean install is
23:15:12 <r-friedman> LabInstrumentResource.java:[138,1] method does not override or implement a method from a supertype
23:16:34 <r-friedman> and it is trying to reference MetaphysicalDeviatingCRUDResource or some such
23:17:30 <r-friedman> which is one of the failing imports
23:18:59 <djazayeri> r-friedman: could it be that maven is building with java 1.5 compliance instead of 1.6?
23:19:13 <djazayeri> (I'm trying to create a new module that depends on webservices.rest, and it's quite annoying
23:19:22 <djazayeri> I hadn't done this before.)
23:19:48 <r-friedman> you are getting similar behavior?
23:20:17 <djazayeri> Haven't finished getting it set up yet
23:24:39 <djazayeri> once eclipse finished building my workspace...
23:25:06 <r-friedman> djazayeri: i downloaded idgenws and tried to build it and got the message
23:25:26 <djazayeri> r-friedman: the same error message?
23:26:15 <r-friedman> missing artifact org.openmrs.module.webservices.rest:jar:1.0-SNAPSHOT:provided
23:26:48 <r-friedman> it's in red when i look at the pom
23:27:18 <r-friedman> i had this message before, but when i tried to do clean install it changed to the can't compile message
23:38:33 *** burke has joined #openmrs
23:38:33 *** ChanServ sets mode: +o burke
23:39:18 <djazayeri> r-friedman: hmm, I'm getting a similar error.
23:39:29 <djazayeri> It builds fine in eclipse
23:39:56 <r-friedman> how do you mean?
23:40:05 <djazayeri> but when I try to do a maven clean package, I get Could not find artifact org.openmrs.module:webservices.rest-omod:jar:0.9-SNAPSHOT in openmrs-repo (http://mavenrepo.openmrs.org/nexus/content/repositories/public)
23:40:06 <OpenMRSBot> <http://ln-s.net/8-2X> (at mavenrepo.openmrs.org)
23:40:20 <djazayeri> even though I have that jar in my local repository
23:41:18 <djazayeri> (hmm, actually it seems like it was resolving them against the workspace, because when I close the webservices.rest module projects in eclipse, I get error messages)
23:42:45 <r-friedman> maybe burke forgot to pay the rent on the repository
23:42:48 <djazayeri> (trying to install those again)
23:51:37 <djazayeri> hmm, perhaps this is because the artifact in my local repository for ws.rest-omod is a pom, not a jar
23:53:14 <djazayeri> r-friedman: did you manually install a *jar* artifact in your local maven repository?
23:53:27 <r-friedman> no
23:53:37 <djazayeri> Did you manually install anything in your local repo?
23:53:40 <r-friedman> no
23:53:46 <djazayeri> or did you just do a maven install on the webservices.rest project?
23:54:10 <r-friedman> i did a maven install on my project, i didn't do it on the webservices.rest
23:54:15 <r-friedman> shall i try that?
23:54:22 <djazayeri> Here's what I think you have to do
23:54:39 <djazayeri> 1. Do a "maven install" on the webservices.rest project
23:54:48 <djazayeri> (the root project)
23:54:57 <djazayeri> (this will install the api jar, and the omod in your local repository
23:55:06 <djazayeri> probably with a version like 0.9-SNAPSHOT)
23:55:11 <r-friedman> ok
23:55:18 <djazayeri> then you need to make your module depend on this specific version
23:55:26 <djazayeri> But that's only going to be a partial solution.
23:55:32 <r-friedman> ok
23:55:52 <djazayeri> the next issue is that according to https://wiki.openmrs.org/display/docs/Adding+a+Web+Service+Step+by+Step+Guide+for+Module+Developers
23:56:07 <djazayeri> you need to depend on the webservices.rest-omod jar
23:56:20 <djazayeri> however this only puts an omod (not a jar) in your local repo
23:56:35 <r-friedman> yuck
23:56:36 *** jwishnie has quit IRC
23:57:12 <r-friedman> <that's funny, he didn't look jewishnie>
23:58:30 <djazayeri> r-friedman: so I suspect that the fix you can make locally is to take the omod that gets built by doing a maven install on webservices.rest, copy that and rename the copy to .jar
23:58:43 <djazayeri> then manually install that in your maven repo with the same groupId, artifactId, and version
23:59:02 <djazayeri> see this: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
23:59:05 <OpenMRSBot> <http://ln-s.net/9M$0> (at maven.apache.org)
23:59:34 <djazayeri> r-friedman: I think the right fix is that we actually need to publish the api and omod jar artifacts to our nexus repo
23:59:36 <r-friedman> is this what the fight is about over how to make jars as well as omods?