Sure Dan. I can merge the changes to isis-android-library when you are done with the changes
Thanks, Deepak On Thu, Apr 18, 2013 at 5:23 PM, Dan Haywood <d...@haywood-associates.co.uk>wrote: > Very good. > > Just so you both know, I currently have a background piece of work which > is updating Isis' RO viewer to RO spec 1.0.0. This is being done in the > dan/ISIS-233-ro branch. You can carry on working on the master branch, > just be aware that some changes will come in over the next couple of > months. (Hope to be done by end June timeframe). > > Cheers > Dan > > > > On 18 April 2013 12:43, Deepak Gopalakrishnan <dgk...@gmail.com> wrote: > >> Hello All, >> >> Finally, I have made my design decisions. >> >> What is being created? >> An android library project which can be used to interact with apache RO >> api's. I'm not intending to create a generic viewer. I would like to >> decouple the viewer from the domains. This is primarily because mobile >> application developers usually will have custom UI requirements to cater >> to. >> >> What is the design? >> I'm planning to re-use most of the components of the RO applib that Dan >> has created. So that is pretty much the design. As suggested by Dan, this >> will help people to develop a generic viewer for RO as well. >> >> I'll keep you guys informed of the progress made. Thanks all for >> listening. >> >> -- >> Regards, >> *Deepak Gopalakrishnan* >> *Mobile*:+918891509774 >> *Skype* : deepakgk87 >> http://myexps.blogspot.com >> >> >> >> On Mon, Apr 15, 2013 at 1:04 PM, DImuthu Upeksha < >> dimuthu.upeks...@gmail.com> wrote: >> >>> Hi Deppak, >>> Yeah I got it. Providing one to one mapping is not practical because we >>> are forcing users to add un necessary fields to it's models. >>> I'm also much interested about your first approach. Waiting for your >>> updates. >>> >>> >>> >>> On Mon, Apr 15, 2013 at 3:09 AM, Deepak Gopalakrishnan <dgk...@gmail.com >>> > wrote: >>> >>>> Hello Dlmuthu, >>>> >>>> >>>> *We are talking about my second solution here which is to allow users >>>> to create model/entity classes and we provide a method to map the parsed >>>> web responses into data members within the model. * >>>> I did not want to force a one to one correspondence between what is on >>>> the server and what is on the android client. This is because, the server >>>> side applications usually might be a super set of what we need on the >>>> client side. So by forcing a one to one correspondance we maybe adding >>>> unnecessary fields in the models on Android ( or any other client side ). >>>> As far as android is concerned, most mobile development projects begin with >>>> a ER diagramming ( or more informal equivalents of the same ). The >>>> developer will most definitely have clear understanding of what the >>>> entities/models are and what are its associated data members. So, I don't >>>> think it will be a difficult task in hand for most mobile developers. >>>> >>>> I'm still thinking about my first approach , which is to generate the >>>> client side sdk library on the server side via dependency injections. Give >>>> me few days to think about this. I will get back with an appropriate >>>> solution. >>>> >>>> Thanks, >>>> Deepak >>>> >>>> >>>> >>>> On Mon, Apr 15, 2013 at 12:22 PM, DImuthu Upeksha < >>>> dimuthu.upeks...@gmail.com> wrote: >>>> >>>>> Hi Deepak >>>>> Regarding your second approach I would like to add new idea. You may >>>>> have been familiar with java frameworks like persistence or hibernate to >>>>> access database. Why can't we apply that concept to your approach. We have >>>>> set of entity classes in our android application (we say it model layer) >>>>> same as the Models used in web service (If there is a model called >>>>> Student >>>>> in web service we also create a entity called Student). Then the problem >>>>> is >>>>> how can we exactly know the attributes of that entities . As a solution >>>>> for >>>>> that we can write some test cases to check whether our model classes are >>>>> exactly compatible with models in the server. If a test fails then we know >>>>> some entity is not compatible with the server model. We can simply access >>>>> our entity classes to access domain classes in web service. >>>>> >>>>> NOTE- This is exactly similar to your approach only difference is we >>>>> can use test cases to test compatibility instead doing it manually >>>>> >>>>> Advantages. >>>>> 1 It can be defined as a standard representation so users can easily >>>>> get used to it. >>>>> 2 Because test cases are responsible for checking compatibility >>>>> between server and client models we don't need to go and check server >>>>> models' attributes manually. (Because I'm lazy to do such things :-) ) >>>>> >>>>> Disadvantages >>>>> 1 As you mentioned, there could be some dependencies with web service. >>>>> >>>>> >>>>> >>>>> On Sun, Apr 14, 2013 at 10:06 PM, Deepak Gopalakrishnan < >>>>> dgk...@gmail.com> wrote: >>>>> >>>>>> Hello Dimuthu, >>>>>> >>>>>> Iven't finalized my solution yet. >>>>>> >>>>>> The first method requires the user to generate the library from the >>>>>> server side instance. I will elaborate the advantages of this method >>>>>> later >>>>>> in this thread. The major disadvantage is that the library has to be >>>>>> generated each time the web services change. >>>>>> >>>>>> For the second method, I think the best approach would be to return >>>>>> an instance of a BaseResponse class ( that extends HashMap ). This class >>>>>> can have a method that will clone the hashmap elements into a model >>>>>> class ( >>>>>> defined by the user ) according to the names of the data members. >>>>>> >>>>>> Example : >>>>>> >>>>>> After the method returns the HashMap ( which is the BaseWebResponse >>>>>> class ) will contain ("firstName"-> "Deepak", "lastName"-> "K", >>>>>> 'age'->25) >>>>>> >>>>>> Suppose the user has defined a new model class called User { private >>>>>> String firstName, lastName; private int age; //and the accessor methods >>>>>> included } >>>>>> >>>>>> So the keys of the hashmap can directly correspond to the >>>>>> datamembers. We can have a Object baseWebResponse.toClassOfType(Class >>>>>> classType) method within the BaseWebResponse class which will do the >>>>>> conversion. >>>>>> >>>>>> Thanks, >>>>>> Deepak >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Apr 15, 2013 at 10:10 AM, DImuthu Upeksha < >>>>>> dimuthu.upeks...@gmail.com> wrote: >>>>>> >>>>>>> Hi Deepak, >>>>>>> I was thinking about your two approaches regarding DAO for android >>>>>>> client. Using dependency injection to create those domain classes makes >>>>>>> sense and I need to do more reading about dependency injection >>>>>>> Regarding your second approach, having a generic DAO class and using >>>>>>> methods like >>>>>>> GenericDao.getEntity("Student").getData("getPassedStudents") >>>>>>> leads to a problem I think. Basically what is the return type of this >>>>>>> method? It should be a set of Student entities. But we don't have a >>>>>>> Student >>>>>>> class in our application. As a solution we can use a Hashmap like thing >>>>>>> to >>>>>>> return attribute name and value pairs. But I'm not sure about the >>>>>>> applicability of it because attributes of Student class may have complex >>>>>>> objects. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Regards >>>>>>> >>>>>>> W.Dimuthu Upeksha >>>>>>> Undergraduate >>>>>>> Department of Computer Science And Engineering >>>>>>> >>>>>>> University of Moratuwa, Sri Lanka >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Regards, >>>>>> *Deepak Gopalakrishnan* >>>>>> *Mobile*:+918891509774 >>>>>> *Skype* : deepakgk87 >>>>>> http://myexps.blogspot.com >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Regards >>>>> >>>>> W.Dimuthu Upeksha >>>>> Undergraduate >>>>> Department of Computer Science And Engineering >>>>> >>>>> University of Moratuwa, Sri Lanka >>>>> >>>> >>>> >>>> >>>> -- >>>> Regards, >>>> *Deepak Gopalakrishnan* >>>> *Mobile*:+918891509774 >>>> *Skype* : deepakgk87 >>>> http://myexps.blogspot.com >>>> >>>> >>> >>> >>> -- >>> Regards >>> >>> W.Dimuthu Upeksha >>> Undergraduate >>> Department of Computer Science And Engineering >>> >>> University of Moratuwa, Sri Lanka >>> >> >> >> >> -- >> Regards, >> *Deepak Gopalakrishnan* >> *Mobile*:+918891509774 >> *Skype* : deepakgk87 >> http://myexps.blogspot.com >> >> > -- Regards, *Deepak Gopalakrishnan* *Mobile*:+918891509774 *Skype* : deepakgk87 http://myexps.blogspot.com