Return-Path: X-Original-To: apmail-cayenne-dev-archive@www.apache.org Delivered-To: apmail-cayenne-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6709818AEC for ; Thu, 21 Jan 2016 10:16:05 +0000 (UTC) Received: (qmail 83482 invoked by uid 500); 21 Jan 2016 10:16:05 -0000 Delivered-To: apmail-cayenne-dev-archive@cayenne.apache.org Received: (qmail 83448 invoked by uid 500); 21 Jan 2016 10:16:05 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 83436 invoked by uid 99); 21 Jan 2016 10:16:05 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jan 2016 10:16:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 7C5F01A0728 for ; Thu, 21 Jan 2016 10:16:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.001 X-Spam-Level: * X-Spam-Status: No, score=1.001 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id Xx5IRUBo9_kT for ; Thu, 21 Jan 2016 10:15:55 +0000 (UTC) Received: from mail13.tpgi.com.au (mail13.tpgi.com.au [203.12.160.181]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTPS id BF85B429C2 for ; Thu, 21 Jan 2016 10:15:54 +0000 (UTC) X-TPG-Junk-Status: Message not scanned X-TPG-Antivirus: Passed X-TPG-Abuse: host=[202.161.115.54]; ip=202.161.115.54; date=Thu, 21 Jan 2016 21:15:45 +1100 Received: from fish.ish.com.au (202-161-115-54.static.tpgi.com.au [202.161.115.54] (may be forged)) by mail13.tpgi.com.au (envelope-from ari@maniatis.org) (8.14.3/8.14.3) with ESMTP id u0LAFhqP019708 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 21 Jan 2016 21:15:45 +1100 Received: from ip-136.ish.com.au ([203.29.62.136]:51791) by fish.ish.com.au with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1aMCHF-0003AO-1h for dev@cayenne.apache.org; Thu, 21 Jan 2016 21:15:41 +1100 X-CTCH-RefID: str=0001.0A15020A.56A0AFCD.02AA,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 Subject: Re: work on ROP To: dev@cayenne.apache.org References: <56713B2C.40601@ish.com.au> <24A23A99-B53D-497A-8BEA-B5F40070620C@objectstyle.org> <5671BF35.5060809@gmail.com> <12DCC748-C737-4B55-896F-0CE0C4B09037@objectstyle.org> <56726314.2060205@maniatis.org> <7EABB636-0EDE-4C38-9576-5959D81E1370@objectstyle.org> <1656662F-5CEC-4C7E-806A-9D247F688109@objectstyle.org> <5673D335.3040607@maniatis.org> <569FB76E.40900@gmail.com> From: Aristedes Maniatis X-Enigmail-Draft-Status: N1110 Message-ID: <56A0AFCD.5070905@maniatis.org> Date: Thu, 21 Jan 2016 21:15:41 +1100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Thunderbird/44.0 MIME-Version: 1.0 In-Reply-To: <569FB76E.40900@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit On 21/01/2016 3:35am, Dzmitry Kazimirchyk wrote: > At this point the implementation is quite crude and lacks proper unit tests, but it shows the general direction we could follow. Comments and suggestions are welcome. I think it looks really clear. I'm going to try and assemble a bunch of questions, some small and some big, to help my understanding. And some is just about code which was there from before. BaseConnection.sendMessage(message) does pretty much nothing but call beforeSendMessage(message), then doSendMessage(message) with a bunch of logging. It all seems a bit pointless. ---- ROPConnector could do with some docs to explain the difference between a sharedSession and a Session. ---- So DefaultClientConnectionProvider is what creates a ProxyRemoteService and passes to it the serializationService and the ropConnector. Why is the serializationService injected here but the ropConnector hardcoded to HttpROPConnector? Doesn't that effectively make this a HttpClientConnectionProvider rather than a DefaultClientConnectionProvider? Should DefaultClientConnectionProvider.createHttpRopConnector() be removed? ---- For that matter, do we need quite so many layers? Could the functionality of ProxyRemoteService just be brought into DefaultClientConnectionProvider? Maybe I'm just not quite understanding the need for both of these things separately. ------ HttpROPConnector might do with some way to set the cookie name. You made SESSION_COOKIE_NAME final for some reason. ----- Instead of reinventing HttpROPConnector.base64(), can we use this: https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html I'll keep reading, but this is already a major step forward. Nicely done. Ari -- --------------------------> Aristedes Maniatis GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A