<div dir="ltr">Inline ;-)<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 2, 2013 at 2:51 PM, Christos Vasilakis <span dir="ltr"><<a href="mailto:cvasilak@gmail.com" target="_blank">cvasilak@gmail.com</a>></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"><div style="word-wrap:break-word">Hi<div><br></div><div>answers inline</div>
<div><br><div><div class="im"><div>On Apr 2, 2013, at 2:22 PM, Matthias Wessendorf <<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><br>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 28, 2013 at 1:03 PM, Christos Vasilakis <span dir="ltr"><<a href="mailto:cvasilak@gmail.com" target="_blank">cvasilak@gmail.com</a>></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"><div style="word-wrap:break-word">Hi team,<div><br></div>
<div>
on the last couple of days I have been playing with the idea on how to support nested path in resources (a.k.a subresources). I am more keen in the idea to treat the nested resources as full-time citizens. That is, treat the nested resource as a Pipe.</div>
</div></blockquote><div><br></div><div><br></div><div>I agree w/ Luke - interesting proposal</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">
<div style="word-wrap:break-word"><div><br></div><div>I came up with the following proposal (showing here in iOS)</div><div><br></div><div>For demonstration I use an imaginative Soccer API</div><div><br></div><div>e.g.</div>
<div><a href="http://soccer.org/leagues/" target="_blank">soccer.org/leagues/</a>{id}/teams/{id}/players</div><div><br></div><div>when expanded with sample {ids}:</div><div><a href="http://soccer.org/leagues/seattle/teams/trebuchet/players" target="_blank">soccer.org/leagues/seattle/teams/trebuchet/players</a></div>
<div><br></div><div>During registration of the "parent pipe" (leagues) we specify the nested resources for this Pipe using the "setNestedPipes" config option. Internally the Pipeline during the setup of this pipe creates the corresponding nested pipes, initialising their URL accordingly.</div>
<div><br></div><div>e.g.</div><div>-----</div><div>AGPipeline* pipeline = [AGPipeline pipelineWithBaseURL:BASE_SOCCER_APP_URL];</div><div><div><br></div><div>id<AGPipe> leagues = [pipeline pipe:^(id<AGPipeConfig> config) {</div>
<div> [config setName:@"leagues"];</div><div><br></div><div> [config setNestedPipes:[@"teams", @"players"]; // an array of nested resources for this pipe</div></div></div></blockquote>
<div><br></div><div><br></div><div>I would read the nested pipes here as:</div><div>* <a href="http://soccer.org/leagues/" target="_blank">soccer.org/leagues/</a>{id}/teams<br></div><div>* <a href="http://soccer.org/leagues/" target="_blank">soccer.org/leagues/</a>{id}/players<br>
</div><div><br></div><div>which does not match the above URL samples, you gave;</div><div><br></div></div></div></div></blockquote><div><br></div></div><div>Internally, using the order of the nested resource names in the array, I built two pipes in that order, that is</div>
<div><br></div><div> <a href="http://soccer.org/leagues/" target="_blank">soccer.org/leagues/</a>{id}/teams/ (1)</div><div> <a href="http://soccer.org/leagues/" target="_blank">soccer.org/leagues/</a>{id}/teams/{id}/players (2)</div>
<div><br></div><div>but as you said, it can be easily confused..</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><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">
<div style="word-wrap:break-word"><div>}];</div><div>-----</div><div><br></div><div>A new "pipe" method is added in the pipeline with params the Parent ID's of this nested resource. Once returned you have a fill Pipe to invoke operations on.</div>
<div><br></div><div>-----</div><div><a href="http://soccer.org/leagues/seattle/teams/trebuchet" target="_blank">soccer.org/leagues/seattle/teams/trebuchet</a> - > </div><div><span style="white-space:pre-wrap">        </span>[[pipeline pipe:@"teams" pathParams:@[@"seattle"]] <b>read:@</b>"trebuchet"] ...</div>
</div></blockquote><div><br></div><div><br></div><div>Hrm..... I am confused...</div></div><div>What is the name of the first argument? Also the path params, not sure about them…</div></div></div></div></blockquote><div>
<br></div>agree. Basically you access the pipe "teams" filling the parent {id}'s with the values.</div><div> </div><div><br></div><div><div class="im"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div><br></div><div>
I think this proposal differs from how we currently read a specific entry:<br></div><div>(<a href="http://soccer.org/leagues/seattle" target="_blank">soccer.org/leagues/seattle</a>)</div><div><br></div><div><br></div><div>
<pre style="padding:8.5px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:10px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902)">
<code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px">[leaguesPipe read:@"seattle" success:callback failure:othercallback];</code></pre>
</div><div><br></div><div>So i guess ... the above would return details about the "Seattle League", right? </div></div></div></div></blockquote><div><br></div></div>correct, no change to how the <span style="color:inherit;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;background-color:rgb(245,245,245);line-height:18px;white-space:pre-wrap">leaguesPipe works.</span><div class="im">
<div><br></div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Now... I think... If I wanted a "sub"/"nested" pipe, from that leagues pipe (e.g. to work with teams in the "Seattle Leaguue" ... I think there are two ways...</div>
<div><br></div><div>a) use the Pipeline as it's factory (I guess that's what you proposed)</div><div>b) use the actual pipe to create a nested pipe, by leveraging the available information</div><div>
<br></div><div><br></div><div>Here is, I think, how the b) could look for this URL:</div><div><br></div><div><pre style="padding:8.5px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:10px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902)">
<code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px"><br>
id<AGPipe> allTeamsInSeattlePipe = [leaguesPipe subPipe:@"teams" for:@"seattle"];</code></pre></div><div><br></div><div>Now we have a subPipe that has this (inherited) URL: -> <a href="http://soccer.org/leagues/seattle/teams" target="_blank">soccer.org/leagues/seattle/teams</a></div>
<div><br></div><div><br></div><div>And, if I want to issue a a read against "<a href="http://soccer.org/leagues/seattle/teams/trebuchet" target="_blank">soccer.org/leagues/seattle/teams/trebuchet</a>" would look like:</div>
<div><br></div><div><div><pre style="padding:8.5px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:10px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902)">
<code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px">[<span style="background-color:transparent;color:inherit">allTeamsInSeattlePipe </span></code><span style="background-color:transparent;color:inherit;font-size:12px"> read:@"trebuchet" success:callback failure:othercallback];</span></pre>
</div><div><code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px"><br>
</code></div></div><div><br></div><div>Now, imagine the API could also return the owners of a certain lagues - the "sub pipe creation" could be done like:</div><div><br></div><div><div>Here is, I think, how the b) could look for this URL:</div>
<div><br></div><div><pre style="padding:8.5px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:10px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902)">
<code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px">id<AGPipe> allOwnersInNewYorkPipe = [leaguesPipe subPipe:@"owners" for:@"newyork"];</code></pre>
</div><div><br></div><div>Reading details about Mr. Brown (some owner in the list, that has the ID 19) would be like:</div><div><br></div><div><pre style="padding:8.5px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:10px;color:rgb(51,51,51);border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-top:0px;margin-bottom:9px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:rgb(245,245,245);border:1px solid rgba(0,0,0,0.14902)">
<code style="padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;color:inherit;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px">[<span style="background-color:transparent;color:inherit">allOwnersInNewYorkPipe</span></code><code style="color:inherit;padding:0px;font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:12px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:transparent;border:0px"><span style="background-color:transparent;color:inherit"> </span></code><span style="color:inherit;background-color:transparent;font-size:12px"> read:@"19" success:callback failure:othercallback];</span></pre>
</div></div><div>So... this would match a read to: "<a href="http://soccer.org/leagues/newyork/owners/19" target="_blank">soccer.org/leagues/newyork/owners/19</a>"</div><div><br></div><div><br></div><div><br></div>
<div>
<br></div><div>Does that make sense ? Any thoughts ?</div><div><br></div></div></div></div></blockquote><div><br></div></div><div>I really *LIKE* the idea! +1000 </div><div><br></div><div>It's verbose enough and it's easy to set up the nested pipes.</div>
<div><br></div><div>two comments:</div><div><br></div><div>a)</div><div><br></div><div>For accessing a sub-nested pipe of a nested one I assume there will be something like the following e.g:</div><div><br></div><div><a href="http://soccer.org/leagues/seatle/teams/" target="_blank">soccer.org/leagues/seatle/teams/</a> -></div>
<div class="im"><div>id<AGPipe> <b>allTeamsInSeattlePipe</b> = [leaguesPipe subPipe:@"teams" for:@"seattle"];</div><div><br></div><div><br></div></div><div><div><a href="http://soccer.org/leagues/seatle/teams/" target="_blank">soccer.org/leagues/seatle/teams/</a>trebuchet/players -></div>
<div>id<AGPipe> allPlayersInTrebuchetPipe = [<b>allTeamsInSeattlePipe</b> subPipe:@"players" for:@"trebuchet"];</div></div><div><br></div><div>right?</div></div></div></div></blockquote><div><br>
</div><div style>yes, that would be correct (I had to think for a bit - not sure the API is named good enough :))</div><div><br></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">
<div style="word-wrap:break-word"><div><div><div><br></div><div>b)</div><div><br></div><div>I assume for passing the configuration for this pipe there can be another method [optional] passing the PipeConfig if the user wants to override any setting for this particular pipe e.g:</div>
<div><br></div><div>id<AGPipe> allTeamsInSeattlePipe = [leaguesPipe subPipe:@"teams" for:@"seattle" config:^(id<AGPipeConfig> config) {</div><div> setRecordId:..</div><div> setTimeout..</div>
<div>...</div><div>}];</div></div></div></div></blockquote><div><br></div><div style>Oh - good point.... I forgot to override some inherited settings...</div><div style><br></div><div style><br></div><div style>Now.... we move the pipe factory into the pipe..... </div>
<div style><br></div><div style>Two thoughts....</div><div style><br></div><div style>1) the 'original' leaguesPipe has no clue about the subpipes, right ?</div><div style>2) should a pipe offer a 'getter' for all it's sub pipes ?</div>
<div><br></div><div style>-M</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"><div style="word-wrap:break-word">
<div><div><div><br></div><div><br></div><div>Thanks,</div><div>Christos</div><div><div class="h5"><div><br></div><div><br></div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><br></div><div><br></div><div><br></div><div><br></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">
<div style="word-wrap:break-word"><div><br></div><div><a href="http://soccer.org/leagues/seattle/teams/trebuchet/players/foo" target="_blank">soccer.org/leagues/seattle/teams/trebuchet/players/foo</a> - ></div><div><span style="white-space:pre-wrap">        </span> [[pipeline pipe:@"players" pathParams:@[@"seattle", @"trebuchet"]] <b>read</b>:@"foo"] ..</div>
<div>-----</div><div><br></div><div><br></div><div>Wdyt?</div><div><br></div><div>Thanks</div><span><font color="#888888">Christos</font></span><div><div><div><br></div><div>On Mar 18, 2013, at 1:12 PM, Sebastien Blanc <<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>> wrote:</div>
<div><div><br><blockquote type="cite">Well, that would not be possible, for that you will have to create a "child" pipe. But I agree, that is maybe no optimal ...<div><br><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 6:44 PM, Summers Pittman <span dir="ltr"><<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>></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">
<div bgcolor="#FFFFFF" text="#000000"><div>
<div>On 03/15/2013 01:34 PM, Sebastien Blanc
wrote:<br>
</div>
<blockquote type="cite">I like the idea but I will more see that has a
method/function for the pipelineManager (and will be easier to
implement in JS, I think) :
<div><br>
</div>
<div>var myParentPipe =
Aerogear.Pipeline({name:"parentPipe"}).pipes.parentPipe</div>
<div><br>
</div>
<div>var myChildPipe = Aerogear.Pipeline.fromParent(myParentPipe,
{options} )</div>
</blockquote></div>
What would it look like to get a child record from a parent?<div><br>
<blockquote type="cite">
<div> <br>
<br>
<div class="gmail_quote">On Fri, Mar 15, 2013 at 5:37 PM,
Douglas Campos <span dir="ltr"><<a href="mailto:qmx@qmx.me" target="_blank">qmx@qmx.me</a>></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 about
this?<br>
<br>
Pipeline<Post> postPipeline = …<br>
Post post = // get from the pipeline<br>
Pipeline<Comment>
postPipeline.childPipelineForOrOtherWeirdName(Comment.class,
post)<br>
<div>
<div><br>
<br>
On 15/03/2013, at 12:26, Summers Pittman <<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>>
wrote:<br>
<br>
> On 03/14/2013 04:48 AM, Matthias Wessendorf wrote:<br>
>><br>
>><br>
>> On Thu, Mar 14, 2013 at 9:32 AM, Sebastien
Blanc <<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>>
wrote:<br>
>> Hi,<br>
>> While I was playing with scaffolding and tried
to build a simple Blog Application with Aerogear I faced
the current situation :<br>
>> I have a Post object which contains many
Comment objects. Now I want to call my Post pipe to
retrieve the related comments, I have currently 2
options :<br>
>><br>
>> /posts/1 -> assuming comments will be
implicitly retrieved (eager loading)<br>
>> /comments/?postid=1<br>
>><br>
>> But regarding our model the correct form should
be :<br>
>><br>
>> /posts/1/comments<br>
>><br>
>><br>
>> +1<br>
>> that is the ideal way to model URIs for
"nested" resources.<br>
>><br>
>> See [1], extracted from [2]<br>
>><br>
>><br>
>><br>
>> But, AFAIK, with the current API, it is not
possible to define this last pattern (at least for JS
and iOs, confirmed by Matzew). When doing a read we can
pass an id option but as mentioned in the doc, this id
will always be append to the endpoint.<br>
>><br>
>><br>
>> Well, it is possible - but in a very (IMO) ugly
way:<br>
>><br>
>> <a href="https://gist.github.com/matzew/6ab432e437b9a017a21d" target="_blank">https://gist.github.com/matzew/6ab432e437b9a017a21d</a><br>
>><br>
>><br>
>><br>
>><br>
>> IMO, we should be able to support this pattern
but for now I'm not really sure how to specify this in
our API, so if you have any ideas feedback this thread
has been made for you !<br>
>><br>
>><br>
>><br>
>> Suggestion: Enhance the read function -
example:<br>
>><br>
>> <a href="https://gist.github.com/matzew/04f069dfbed2cc77a8b4" target="_blank">https://gist.github.com/matzew/04f069dfbed2cc77a8b4</a><br>
> I'm thinking of the inverse myself. Add a
"ParentPath" property which can be used to extract
information from parent objects.<br>
><br>
> <a href="https://gist.github.com/secondsun/17ce96082eda37dbd10e" target="_blank">https://gist.github.com/secondsun/17ce96082eda37dbd10e</a><br>
><br>
>><br>
>><br>
>> -Matthias<br>
>><br>
>><br>
>> [1] <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>
>> [2] <a href="http://www.infoq.com/articles/rest-introduction" target="_blank">http://www.infoq.com/articles/rest-introduction</a><br>
>><br>
>><br>
>><br>
>><br>
>> Seb<br>
>><br>
>><br>
>> _______________________________________________<br>
>> aerogear-dev mailing list<br>
>> <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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>
>> _______________________________________________<br>
>> aerogear-dev mailing list<br>
>><br>
>> <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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" target="_blank">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>
</div>
</div>
-- qmx<br>
<div>
<div><br>
<br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</blockquote>
<br>
</div></div>
<br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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></blockquote></div><br></div>
_______________________________________________<br>aerogear-dev mailing list<br><a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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></blockquote>
</div><br></div></div></div></div><br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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></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>
_______________________________________________<br>aerogear-dev mailing list<br><a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">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></blockquote>
</div></div></div><br></div></div><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></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>