<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 4, 2013 at 4:52 PM, Summers Pittman <span dir="ltr">&lt;<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">What if we create a new metaphor, a Junction.<br>
<br>
<a href="https://gist.github.com/secondsun/dcf5682b6ff17c729d9a" target="_blank">https://gist.github.com/secondsun/dcf5682b6ff17c729d9a</a><br>
<br></blockquote><div><br></div><div><br></div><div style>hrm, not sure...</div><div style><br></div><div style>One question:</div><div style><a href="https://gist.github.com/secondsun/dcf5682b6ff17c729d9a#file-junctionapplication-java-L19">https://gist.github.com/secondsun/dcf5682b6ff17c729d9a#file-junctionapplication-java-L19</a><br>
</div><div style>Is that something like a &quot;get(&#39;team&#39;)&quot; and than read the nested &quot;players&quot; resource/collection?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

It joins two pipes together and can be used over and over again with different data?<br>
It isn&#39;t a Pipe though, but perhaps that could be changed to look more like Christos&#39;s previous example.<br>
<br>
At the very least I like the words &quot;junction&quot; or &quot;join&quot; more than &quot;of&quot;<br>
<div class=""><div class="h5"><br>
----- Original Message -----<br>
| From: &quot;Christos Vasilakis&quot; &lt;<a href="mailto:cvasilak@gmail.com">cvasilak@gmail.com</a>&gt;<br>
| To: &quot;AeroGear Developer Mailing List&quot; &lt;<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>&gt;<br>
| Sent: Wednesday, April 3, 2013 3:03:02 AM<br>
| Subject: Re: [aerogear-dev] [Aerogear Pipeline] Support for nested endpoints<br>
|<br>
|<br>
| On Apr 2, 2013, at 4:03 PM, Matthias Wessendorf &lt; <a href="mailto:matzew@apache.org">matzew@apache.org</a> &gt; wrote:<br>
|<br>
|<br>
|<br>
|<br>
| Two thoughts....<br>
|<br>
| 1) the &#39;original&#39; leaguesPipe has no clue about the subpipes, right ?<br>
| 2) should a pipe offer a &#39;getter&#39; for all it&#39;s sub pipes ?<br>
|<br>
|<br>
| Just a thought is instead of using Pipe, to continue using Pipeline adding an<br>
| extra parameter &quot; of&quot; for specifying the parent : E.g.:<br>
|<br>
| …..<br>
| id&lt;AGPipe&gt; leaguesPipe = [pipeline pipe@&quot;leagues&quot;];<br>
|<br>
| id&lt;AGPipe&gt; allTeamsInSeattlePipe = [pipeline subPipe@&quot;teams&quot; of :leaguesPipe<br>
| for:@&quot;seattle&quot;]<br>
|<br>
| id&lt;AGPipe&gt; allPlayersInTrebuchetPipe = [pipeline subPipe:@&quot;players&quot; of:<br>
| allTeamsInSeattlePipe for:@&quot;trebuchet&quot;];<br>
| …..<br>
|<br>
|<br>
| Wdyt?<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
| -M<br>
|<br>
|<br>
|<br>
|<br>
|<br>
| Thanks,<br>
| Christos<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
| <a href="http://soccer.org/leagues/seattle/teams/trebuchet/players/foo" target="_blank">soccer.org/leagues/seattle/teams/trebuchet/players/foo</a> - &gt;<br>
| [[pipeline pipe:@&quot;players&quot; pathParams:@[@&quot;seattle&quot;, @&quot;trebuchet&quot;]] read<br>
| :@&quot;foo&quot;] ..<br>
| -----<br>
|<br>
|<br>
| Wdyt?<br>
|<br>
| Thanks<br>
| Christos<br>
|<br>
| On Mar 18, 2013, at 1:12 PM, Sebastien Blanc &lt; <a href="mailto:scm.blanc@gmail.com">scm.blanc@gmail.com</a> &gt; wrote:<br>
|<br>
|<br>
|<br>
| Well, that would not be possible, for that you will have to create a &quot;child&quot;<br>
| pipe. But I agree, that is maybe no optimal ...<br>
|<br>
|<br>
| On Fri, Mar 15, 2013 at 6:44 PM, Summers Pittman &lt; <a href="mailto:supittma@redhat.com">supittma@redhat.com</a> &gt;<br>
| wrote:<br>
|<br>
|<br>
|<br>
| On 03/15/2013 01:34 PM, Sebastien Blanc wrote:<br>
|<br>
|<br>
| I like the idea but I will more see that has a method/function for the<br>
| pipelineManager (and will be easier to implement in JS, I think) :<br>
|<br>
| var myParentPipe = Aerogear.Pipeline({name:&quot;parentPipe&quot;}).pipes.parentPipe<br>
|<br>
| var myChildPipe = Aerogear.Pipeline.fromParent(myParentPipe, {options} )<br>
| What would it look like to get a child record from a parent?<br>
|<br>
|<br>
|<br>
|<br>
|<br>
|<br>
| On Fri, Mar 15, 2013 at 5:37 PM, Douglas Campos &lt; <a href="mailto:qmx@qmx.me">qmx@qmx.me</a> &gt; wrote:<br>
|<br>
|<br>
| What about this?<br>
|<br>
| Pipeline&lt;Post&gt; postPipeline = …<br>
| Post post = // get from the pipeline<br>
| Pipeline&lt;Comment&gt;<br>
| postPipeline.childPipelineForOrOtherWeirdName(Comment.class, post)<br>
|<br>
|<br>
| On 15/03/2013, at 12:26, Summers Pittman &lt; <a href="mailto:supittma@redhat.com">supittma@redhat.com</a> &gt; wrote:<br>
|<br>
| &gt; On 03/14/2013 04:48 AM, Matthias Wessendorf wrote:<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; On Thu, Mar 14, 2013 at 9:32 AM, Sebastien Blanc &lt; <a href="mailto:scm.blanc@gmail.com">scm.blanc@gmail.com</a> &gt;<br>
| &gt;&gt; wrote:<br>
| &gt;&gt; Hi,<br>
| &gt;&gt; While I was playing with scaffolding and tried to build a simple Blog<br>
| &gt;&gt; Application with Aerogear I faced the current situation :<br>
| &gt;&gt; I have a Post object which contains many Comment objects. Now I want to<br>
| &gt;&gt; call my Post pipe to retrieve the related comments, I have currently 2<br>
| &gt;&gt; options :<br>
| &gt;&gt;<br>
| &gt;&gt; /posts/1 -&gt; assuming comments will be implicitly retrieved (eager loading)<br>
| &gt;&gt; /comments/?postid=1<br>
| &gt;&gt;<br>
| &gt;&gt; But regarding our model the correct form should be :<br>
| &gt;&gt;<br>
| &gt;&gt; /posts/1/comments<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; +1<br>
| &gt;&gt; that is the ideal way to model URIs for &quot;nested&quot; resources.<br>
| &gt;&gt;<br>
| &gt;&gt; See [1], extracted from [2]<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; But, AFAIK, with the current API, it is not possible to define this last<br>
| &gt;&gt; pattern (at least for JS and iOs, confirmed by Matzew). When doing a read<br>
| &gt;&gt; we can pass an id option but as mentioned in the doc, this id will always<br>
| &gt;&gt; be append to the endpoint.<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; Well, it is possible - but in a very (IMO) ugly way:<br>
| &gt;&gt;<br>
| &gt;&gt; <a href="https://gist.github.com/matzew/6ab432e437b9a017a21d" target="_blank">https://gist.github.com/matzew/6ab432e437b9a017a21d</a><br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; IMO, we should be able to support this pattern but for now I&#39;m not really<br>
| &gt;&gt; sure how to specify this in our API, so if you have any ideas feedback<br>
| &gt;&gt; this thread has been made for you !<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; Suggestion: Enhance the read function - example:<br>
| &gt;&gt;<br>
| &gt;&gt; <a href="https://gist.github.com/matzew/04f069dfbed2cc77a8b4" target="_blank">https://gist.github.com/matzew/04f069dfbed2cc77a8b4</a><br>
| &gt; I&#39;m thinking of the inverse myself. Add a &quot;ParentPath&quot; property which can<br>
| &gt; be used to extract information from parent objects.<br>
| &gt;<br>
| &gt; <a href="https://gist.github.com/secondsun/17ce96082eda37dbd10e" target="_blank">https://gist.github.com/secondsun/17ce96082eda37dbd10e</a><br>
| &gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; -Matthias<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; [1]<br>
| &gt;&gt; <a href="http://www.infoq.com/resource/articles/rest-introduction/en/resources/figure2.jpg" target="_blank">http://www.infoq.com/resource/articles/rest-introduction/en/resources/figure2.jpg</a><br>
| &gt;&gt; [2] <a href="http://www.infoq.com/articles/rest-introduction" target="_blank">http://www.infoq.com/articles/rest-introduction</a><br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; Seb<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; _______________________________________________<br>
| &gt;&gt; aerogear-dev mailing list<br>
| &gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt;<br>
| &gt;&gt; --<br>
| &gt;&gt; Matthias Wessendorf<br>
| &gt;&gt;<br>
| &gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
| &gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
| &gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
| &gt;&gt;<br>
| &gt;&gt; _______________________________________________<br>
| &gt;&gt; aerogear-dev mailing list<br>
| &gt;&gt;<br>
| &gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
| &gt;<br>
| &gt; _______________________________________________<br>
| &gt; aerogear-dev mailing list<br>
| &gt; <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
| -- qmx<br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
|<br>
| --<br>
| Matthias Wessendorf<br>
|<br>
| blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
| sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
| twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
|<br>
| --<br>
| Matthias Wessendorf<br>
|<br>
| blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
| sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
| twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
|<br>
|<br>
| _______________________________________________<br>
| aerogear-dev mailing list<br>
| <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
| <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
<br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Matthias Wessendorf <br>
<br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div></div>