You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Ken Ear <ke...@student.adelaide.edu.au> on 2013/10/05 08:01:11 UTC

Using Apache Isis

Hi,

I have a few questions regarding Apache Isis, but mostly surrounding the
Restful Object aspect of the project. I am a university student, so my
knowledge is somewhat limited and thank you for your patience

1. The tutorial PDF asks us to create a new TodoItem, update a property. Is
there any guide on telling us how to do this, or even provide an example on
those task which comply with the Rest Console format (body and link)?
2. Is there a guide on how to develop our own Domain for the restful
services?, there is only the example of ToDoItem, but I am unable to follow
the code and locations of where the java files go and what methods need to
be where
3. How to set up the entire server and object stores with our own defined
domain names for restful links?, eg cakes or chair instead of ToDo

Regards,
Ken

Re: Using Apache Isis

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 5 October 2013 07:01, Ken Ear <ke...@student.adelaide.edu.au> wrote:

> Hi,
>
> Hi Ken,

thanks for your interest in Apache Isis.  Could you subscribe to this list
(send an email to users-subscribe@isis.a.o) so that I don't have to approve
your future emails?



> I have a few questions regarding Apache Isis, but mostly surrounding the
> Restful Object aspect of the project. I am a university student, so my
> knowledge is somewhat limited and thank you for your patience
>
> 1. The tutorial PDF asks us to create a new TodoItem,


This is invoking an action.  If running the todo app locally (I'm running
1.3.0-SNAPSHOT, but you should seem something similar if you run the todo
app archetype [1]), you can get to this by:

http://localhost:8080/restful/ - home page resource
- follow (HTTP GET) links[rel=urn:org.restfulobjects:rels/services].href to:
http://localhost:8080/restful/services - services resources
- follow (HTTP GET)
value[rel=urn:org.restfulobjects:rels/service;serviceId="toDoItems"].href
to:
http://localhost:8080/restful/services/toDoItems - todo items domain
service resource
- follow (HTTP GET)
members.newToDo.links[rel=urn:org.restfulobjects:rels/details].href to:
http://localhost:8080/restful/services/toDoItems/actions/newToDo - newToDo
action detail resource
- post (HTTP POST) links[rel=urn:org.restfulobjects:rels/invoke].href, with
body:
{
  "description": {
    "value": "my new todo"
  },
  "category": {
    "value": "Professional"
  },
  "subcategory": {
    "value": "OpenSource"
  },
  "dueBy": {
    "value": "2013-11-05"
  },
  "cost": {
    "value": 1.45
  }
}
The response is the representation of the newly created todo item

There's also details of submitting action invokes in the RO spec [2], of
course.

I use chrome with the json-view extension to navigate (HTTP GET) the
resources, and the REST-Console chrome app to submit POSTS.




> update a property.


Is very similar; you should be able to figure it out from the above (see
also the RO spec).



> Is
> there any guide on telling us how to do this, or even provide an example on
> those task which comply with the Rest Console format (body and link)?
>

See above, hopefully sufficient.


> 2. Is there a guide on how to develop our own Domain for the restful
> services?,


The easiest thing to do is to start with the todo app, and then refactor
(eg rename etc).

The Isis programming conventions are documented here [3].


> there is only the example of ToDoItem, but I am unable to follow
> the code and locations of where the java files go and what methods need to
> be where
>

You can either:
a) use the archetype [1], which will set up a Maven project for you, or
b) build the code from source [4,5,6].

You are going to need to be at least a little familiar with Maven and how
it interacts with your preferred IDE; helping you with that is outside the
scope of this mailing list, though, I'm afraid.

3. How to set up the entire server and object stores with our own defined
> domain names for restful links?, eg cakes or chair instead of ToDo
>

Isis runs as a WAR, so there's nothing specific to do.  It also spits out a
self-hosting WAR (*-console.war) that can be run using java -jar
*-console.war

HTH
Dan

[1] http://isis.apache.org/getting-started/quickstart-archetype.html
[2] http://restfulobjects.org/
[3] http://isis.apache.org/applib-guide/about.html
[4] http://isis.apache.org/contributors/development-environment.html
[5] http://isis.apache.org/contributors/building-isis.html
[6]
http://isis.apache.org/components/objectstores/jdo/datanucleus-and-eclipse.html



>
> Regards,
> Ken
>