ace-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike van Dongen <...@mikevandongen.nl>
Subject RE: How to query the distributions/targets with the Client Rest API?
Date Sun, 08 Sep 2013 20:24:45 GMT
Hi Ghania!
I ran into the same problems when I started using ACE 1 or 2 months ago.

> Hi every one,
> 
> Thank you Mike, Elmar for your response.
> 
> I’m having an exception when doing a post to client/work/rest-ID/distrubution2target
with setting a form with the form parameters : leftEndpoint, rightEndpoint, leftCardinality,
rightCardinality
> 
> The exception is <p>Problem accessing /client/work/rest-1/distribution2target.
Reason:
> <pre>    Unable to parse repository object!</pre></p><h3>Caused
by:</h3><pre>java.io.IOException: Unable to parse repository object!
> at org.apache.ace.client.rest.RESTClientServlet.getRepositoryValueObject(RESTClientServlet.java:486)
> at org.apache.ace.client.rest.RESTClientServlet.doPost(RESTClientServlet.java:353)
> …..Caused by: com.google.gson.JsonParseException: Expecting object found: "leftEndpoint"

If I recall correctly, you should use the parameters 'left' and 'right'.The values of those
parameters need to be the definitions of the distribution and target respectively.

> Also when I do I post to Client/work, I’m getting this with no sessionID :
>  ["artifact", "feature", "distribution", "target", "artifact2feature", "feature2distribution",
"distribution2target"]
> How to get the new Workspace with the sessionID, what I’m missing in my post?
> Any idea how to fix this error?
Once a new workspace is created, the client will be redirected to this workspace.The URL you're
being redirected to is "client/work/rest-ID", where rest-ID is the ID of your workspace.In
my case I was able to retrieve the URL that was last used and set it as the base URI.
I'm unfamiliar with Jersey but this might help:https://jersey.java.net/nonav/apidocs/1.1.1-ea/jersey/com/sun/jersey/api/client/WebResource.html#getURI()

Good luck!Mike.
> Thank you again for your response,
> My Best Regards,
> Ghania
> 
> 
> 
> ________________________________
>  De : Elmar Zeeb <elmar.zeeb@pipesbox.de>
> À : users@ace.apache.org 
> Envoyé le : vendredi 6 Septembre 2013 3h15
> Objet : Re: How to query the distributions/targets with the Client Rest API?
>  
> 
> Hi Ghania,
> 
> Am 05.09.2013 19:04, schrieb ghania ferrag:
> > Hi all,
> >
> > I’m working on new web UI ( I used Vaadin for this UI) to allow our users to send
distributions to specific targets.
> > In our UI we have just to display all existing distributions and I wonder how to
query the distributions with the Client Rest API?
> > I read the following link:
> > https://cwiki.apache.org/confluence/display/ACE/Client+REST+API
> >
> >  
> >
> > Some one can tell me what is wrong with this REST-client code (I used Jersey):
> > 1) I suspect the path is wrong: "ace/workspaceID/distribution" ?
> > 2) or may be REST-server is not set ?
> >  
> > import javax.ws.rs.core.UriBuilder;
> > import com.sun.jersey.api.client.Client;
> > import com.sun.jersey.api.client.WebResource;
> > import com.sun.jersey.api.client.config.ClientConfig;
> > import com.sun.jersey.api.client.config.DefaultClientConfig;
> > public class ClientTest{
> >    public static void main(String[] args) {
> >     getDistributions();
> >    }
> >    
> >    public static void  getDistributions() {
> >       ClientConfig config = new DefaultClientConfig();
> >       Client client = Client.create(config);
> >       WebResource service = client.resource(getBaseURI());
> >       // Get JSONfor application
> >       System.out.println(service.path("workspaceID").path("distribution").accept(MediaType.APPLICATION_JSON).get(String.class));
> >       // Get XML for application
> >       System.out.println(service.path("workspaceID").path("distribution").accept(MediaType.APPLICATION_XML).get(String.class));
> >    }
> >    private static URI getBaseURI() {
> >      return UriBuilder.fromUri("http://localhost:8080/ace").build();
> >    }
> >
> > Thanks and Regards,
> > Ghania
> You should create a association between a distribution and a target, 
> this is called distribution2target and is a resource that can be created 
> with a post to ace/workspaceID/distribution2target (see 
> http://ace.apache.org/user-doc/restapi.html).
> 
> Regards,
> Elmar
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message