Hi all
I'm also interested in Deepak's project's scope so I would like to
contribute with him. At the same time I have done some developments in
generic viewer ISIS 371 [1] so hope to continue with it for my GSoC
project. I'll add the requirements mentioned by Dan (images, read me
and  other detailed documents) by tomorrow. For now (say versoin 1) I
hope to develop application without considering much decoupling
domains and views but hope to integrate those in next stage because
time frame for a GSoC project is about 3 months.

[1] https://github.com/DImuthuUpe/IsisAndroid.git

Thank you
Upeksha

On Thu, Apr 18, 2013 at 4:53 AM, Dan Haywood
<[email protected]> 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 <[email protected]> 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
>> <[email protected]> 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 <[email protected]>
>>> 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
>>>> <[email protected]> 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
>>>>> <[email protected]> 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
>>>>>> <[email protected]> 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

W.Dimuthu Upeksha
Undergraduate

Department of Computer Science And Engineering

University of Moratuwa, Sri Lanka

Reply via email to