In other words, What *is* the pattern that is "supposed" to work?
Can we formalize it somehow so that it does not break in subsequent releases? by god forbid! - a test case thanks, dims On Fri, Aug 21, 2009 at 6:36 AM, Andreas Veithen<andreas.veit...@gmail.com> wrote: > Assume that a servlet extends AxisServlet and overrides the init > method with an implementation that doesn't call AxisServlet#init, but > that is a modified copy & paste of the code in AxisServlet (for an > example of this, see SynapseAxisServlet). Is that considered as an > extension that relies solely on public APIs? > > Andreas > > On Fri, Aug 21, 2009 at 07:09, Hiranya Jayathilaka<hiranya...@gmail.com> > wrote: >> >> >> On Fri, Aug 21, 2009 at 5:54 AM, Deepal jayasinghe <deep...@gmail.com> >> wrote: >>> >>> > >>> > 2) I think there is no need to start yelling around about "merrily >>> > chang[ing] APIs", "things are going to become a big mess" and "engage >>> > the community before making such drastic changes". I did lots of fixes >>> > in Axiom and Axis2 since Synapse trunk switched from Axis2 SNAPSHOT to >>> > 1.5, and when Hiranya switched back to SNAPSHOT there were no >>> > particular issues related to them, except for the issue discussed >>> > here. I personally take the suggestion that my changes make of Axis2 a >>> > big mess as an offense. If that is what some people think, I can stop >>> > immediately to work on Axis2 and Axiom. With respect to engaging the >>> > community, as mentioned above, the description of AXIS2-4465 provides >>> > enough information about the reasons for the change and as Dims >>> > pointed out, we have a commit-and-review policy. Since the change is >>> > focused, not massive, can easily be reverted and contains an >>> > appropriate level of Javadoc, I think that the community has >>> > everything that is needed to review it. >>> > >>> You are doing a great work with Axis2 project and as I can see you are >>> so active in the project, so there is no need to stop what you are doing. >> >> +1. >> >> Andreas, you have been a great contributor for Axis2 and AXIOM over the past >> few months and I'm sure the community highly values and appreciates all your >> contributions. Most of your changes were very good ones and required ones >> too. It is just this change needs a bit of reworking and cleanup to maintain >> compatibility with the custom extensions - that's all :) >> >> Thanks, >> Hiranya >> >>> >>> > >>> > 3) The discussion in AXIS2-4465 pointed to the problem that even by >>> > preserving the public API of AxisServlet, we will probably not be able >>> > to avoid breaking subclasses. This is caused by the fact that >>> > AxisServlet doesn't have an extensible design. If somebody has a >>> > brilliant idea how to get around this problem (other than reverting >>> > the fix and reopening the 6 issues it is supposed to solve), please >>> > speak out. >>> > >>> I am not going to ask you to revert the patch, but we should not change >>> the public APIs. This is not the first time that happens, and I those >>> times I also point them out. Just because we have commit then review, we >>> do not have time to go though each and every commits (when I was having >>> time I did that). So as the commiters of the project let's not try to >>> break the features we have or let's not change public APIs. >>> >>> Thanks, >>> Deepal >>> > Andreas >>> > >>> > [1] http://markmail.org/message/62dixjx3qrqry3yr >>> > [2] http://svn.apache.org/viewvc?view=rev&revision=744900 >>> > >>> > On Thu, Aug 20, 2009 at 18:08, Senaka Fernando<sen...@wso2.com> wrote: >>> > >>> >> Hi Andreas, >>> >> >>> >> Just wondering what you are trying to achieve here. Is this related to >>> >> auto >>> >> detection of ports as Hiranya pointed out? While I appreciate the >>> >> effort >>> >> you've put into doing something worthwhile, I believe that getting rid >>> >> of a >>> >> public method in a class is not the correct thing to do. I believe that >>> >> what >>> >> you have done here is the addition of a new portion of code. Can we >>> >> make the >>> >> new portion of code optional? And leave the existing logic as it was? >>> >> Also, >>> >> are you planning further changes to this class? if so, it would perhaps >>> >> be >>> >> better to figure out a more elaborate solution, which safeguards both >>> >> the >>> >> existing level of extensibility of this class and also its public API. >>> >> >>> >> Thanks, >>> >> Senaka >>> >> >>> >> On Thu, Aug 20, 2009 at 6:14 PM, Hiranya Jayathilaka >>> >> <hiranya...@gmail.com> >>> >> wrote: >>> >> >>> >>> Hi Andreas, >>> >>> >>> >>> By looking at the code I got the impression that HTTP transport >>> >>> receivers >>> >>> should extend the AxisServletListener class for your logic of port >>> >>> auto >>> >>> detection to work. Is that correct? What happens if the transport >>> >>> receivers >>> >>> used do not extend this class? All request handler methods call the >>> >>> preprocessRequest method which in turns run port auto detection. If >>> >>> the >>> >>> transport receivers do not extend AxisServlerListener how is that >>> >>> handled? >>> >>> >>> >>> Thanks, >>> >>> Hiranya >>> >>> >>> >>> >>> >>> On Thu, Aug 20, 2009 at 6:05 PM, Andreas Veithen >>> >>> <andreas.veit...@gmail.com> wrote: >>> >>> >>> >>>> Afkham, >>> >>>> >>> >>>> The only change I see in the public APIs is the disappearance of the >>> >>>> initContextRoot method. We can easily fix this be restoring the >>> >>>> original initContextRoot method and let the preprocessRequest method >>> >>>> call initContextRoot. Do you see any other things to change? >>> >>>> >>> >>>> Andreas >>> >>>> >>> >>>> On Thu, Aug 20, 2009 at 13:45, Afkham Azeez<afk...@gmail.com> wrote: >>> >>>> >>> >>>>> Yes Dims. However, if everybody continues to merrily change APIs, >>> >>>>> making public methods private & so on, things are going to become a >>> >>>>> big mess. Axis2 provides public APIs, and those may be having >>> >>>>> problems, but still they are public APIs. This is why you have to be >>> >>>>> very careful when defining APIs; if you get them wrong, you may have >>> >>>>> to live with it for a long time. >>> >>>>> >>> >>>>> Azeez >>> >>>>> >>> >>>>> On Thu, Aug 20, 2009 at 11:38 AM, Davanum >>> >>>>> Srinivas<dava...@gmail.com> >>> >>>>> wrote: >>> >>>>> >>> >>>>>> Azeez, >>> >>>>>> >>> >>>>>> We are still following, commit-then-review right? >>> >>>>>> >>> >>>>>> thanks, >>> >>>>>> dims >>> >>>>>> >>> >>>>>> On 08/20/2009 07:33 AM, Afkham Azeez wrote: >>> >>>>>> >>> >>>>>>> Hi Andreas, >>> >>>>>>> The changes you've done to the APIs as per >>> >>>>>>> https://issues.apache.org/jira/browse/AXIS2-4465 badly breaks some >>> >>>>>>> of >>> >>>>>>> the projects that depend on Axis2. Please revert this, and please >>> >>>>>>> engage the community before making such drastic changes in the >>> >>>>>>> future. >>> >>>>>>> >>> >>>>>>> >>> >>>>> >>> >>>>> -- >>> >>>>> Thanks >>> >>>>> Afkham Azeez >>> >>>>> >>> >>>>> Blog: http://afkham.org >>> >>>>> Developer Portal: http://www.wso2.org >>> >>>>> WSAS Blog: http://wso2wsas.blogspot.com >>> >>>>> Company: http://wso2.com >>> >>>>> GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760 >>> >>>>> >>> >>>>> >>> >>> >>> >>> -- >>> >>> Hiranya Jayathilaka >>> >>> Software Engineer; >>> >>> WSO2 Inc.; http://wso2.org >>> >>> E-mail: hira...@wso2.com; Mobile: +94 77 633 3491 >>> >>> Blog: http://techfeast-hiranya.blogspot.com >>> >>> >>> >> >>> > >>> > >>> >>> >>> -- >>> Thank you! >>> >>> >>> http://blogs.deepal.org >>> http://deepal.org >>> >> >> >> >> -- >> Hiranya Jayathilaka >> Software Engineer; >> WSO2 Inc.; http://wso2.org >> E-mail: hira...@wso2.com; Mobile: +94 77 633 3491 >> Blog: http://techfeast-hiranya.blogspot.com >> > -- Davanum Srinivas :: http://davanum.wordpress.com