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

Reply via email to