juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: Breaking changes in 7.2.0. Plans for 7.2.1, 8.0.0
Date Tue, 16 Oct 2018 19:02:55 GMT
Hi James and all:

For org.apache.juneau.marshall.N3Test.write1(), m.toString("foo") is:

 (java.lang.String) @prefix jp:      <http://www.apache.org/juneaubp/> .
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .

Gary

On Tue, Oct 16, 2018 at 9:11 AM James Bognar <jamesbognar@apache.org> wrote:

> Hi Gary,
>
> It's hard to read the output.  Is the difference "]    j:value "foo" .]"
> vs "[]    j:value "foo" .]"?
>
> I've had problems in the past writing unit tests for the RDF languages
> because the output is sometimes not consistent.  For example, triples are
> not guaranteed to be serialized in the same order each time, so I've had to
> use tricks such as sorting results before comparison.  Our code does not
> have control over how Jena serialized the RDF model.
>
> This is a basic sanity test.  I'm surprised it's causing an issue.  It is
> a new test in 7.2.0 though.  Could you tell me what the output is from the
> call to m.toString("foo")?
>
> I'm not an RDF expert, so maybe Peter Haumer can chime in?
>
> On Mon, Oct 15, 2018 at 9:20 PM Gary Gregory <garydgregory@gmail.com>
> wrote:
>
>> On Mon, Oct 15, 2018 at 6:40 PM James Bognar <jamesbognar@gmail.com>
>> wrote:
>>
>>> I’ll continue work on number 2.
>>>
>>
>> Thank you James!
>>
>> I tried to build Juneau git master locally with:
>>
>> Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
>> 2018-06-17T12:33:14-06:00)
>> Maven home: C:\Java\apache-maven-3.5.4\bin\..
>> Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: C:\Program
>> Files\Java\jdk1.8.0_181\jre
>> Default locale: en_US, platform encoding: Cp1252
>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>>
>> but I got:
>>
>> [INFO] Running org.apache.juneau.xml.XmlTest
>> [INFO] Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
>> 0.015 s - in org.apache.juneau.xml.XmlTest
>> [INFO]
>> [INFO] Results:
>> [INFO]
>> [ERROR] Failures:
>> [ERROR]   N3Test.toString1:45 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [ERROR]   N3Test.write1:33 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [ERROR]   N3Test.write2:40 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [ERROR]   TurtleTest.toString1:45 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [ERROR]   TurtleTest.write1:33 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [ERROR]   TurtleTest.write2:40 expected:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> []    j:value "foo" .]
>> > but was:<...che.org/juneaubp/> .[
>> @prefix j:       <http://www.apache.org/juneau/> .
>>
>> ]]    j:value "foo" .
>> >
>> [INFO]
>> [ERROR] Tests run: 18397, Failures: 6, Errors: 0, Skipped: 1
>> [INFO]
>>
>>
>> Any ideas? This is not urgent.
>>
>> Gary
>>
>>>
>>>
>>> On Mon, Oct 15, 2018 at 8:38 PM Gary Gregory <garydgregory@gmail.com>
>>> wrote:
>>>
>>>> Looking at sources, it seems to me the choices are:
>>>>
>>>> 1) Do nothing and break all existing apps; obviously not acceptable.
>>>> 2) Update the whole code base so that both old and new annotation are
>>>> handled. I see > 400 references to the Query annotation for example, so,
>>>> yikes; granted some of those references are in Javadocs.
>>>> 3) "Disown" 7.2.0 and move the annotations back to their original
>>>> locations for 7.2.1. Not good either since that would break BC for 7.2.0
>>>> apps; see 1) above. Note that it does not matter how recently 7.2.0 was
>>>> released.
>>>>
>>>> It seems that the only sensible solution is 2)
>>>>
>>>> Thoughts?
>>>>
>>>> Gary
>>>>
>>>> On Mon, Oct 15, 2018 at 5:50 PM Gary Gregory <garydgregory@gmail.com>
>>>> wrote:
>>>>
>>>>> It looks like org.apache.juneau.rest.RestContext.findParams() does not
>>>>> take into account the deprecated annotations...
>>>>>
>>>>> Gary
>>>>>
>>>>> On Mon, Oct 15, 2018 at 4:54 PM Gary Gregory <garydgregory@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hm... on startup, I get:
>>>>>>
>>>>>> Running class 'RestMicroservice' using config file
>>>>>> 'src\main\config\admin-microservice.cfg'.
>>>>>> 2018-10-15 16:51:22,216 INFO
>>>>>> [com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1][] Logging
>>>>>> initialized @4407ms to org.apache.logging.log4j.appserver.jetty.Log4j2Logger
>>>>>> Server started on port 1103
>>>>>> Servlet init error on class
>>>>>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources'
>>>>>> java.lang.RuntimeException:
>>>>>> org.apache.juneau.rest.RestServletException: Problem occurred trying
to
>>>>>> serialize methods on class
>>>>>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>>>>>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:262)
>>>>>> at org.apache.juneau.rest.RestServlet.init(RestServlet.java:53)
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:670)
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installProxy(NHttpReverseProxy.java:1867)
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installAdmin(NHttpReverseProxy.java:1823)
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.goLoop(NHttpReverseProxy.java:1533)
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1.lambda$0(NHttpReverseProxyTestRule.java:191)
>>>>>> at java.lang.Thread.run(Thread.java:748)
>>>>>> Caused by: org.apache.juneau.rest.RestServletException: Problem
>>>>>> occurred trying to serialize methods on class
>>>>>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>>>>>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>>>>>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3303)
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>>>>>> ... 8 more
>>>>>> *Caused by: org.apache.juneau.rest.RestServletException: Invalid
>>>>>> parameter specified for method
>>>>>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources.reconfigure(String,Reader)'
>>>>>> at index position 0*
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContext.findParams(RestContext.java:4613)
>>>>>> at
>>>>>> org.apache.juneau.rest.RestJavaMethod$Builder.<init>(RestJavaMethod.java:394)
>>>>>> at
>>>>>> org.apache.juneau.rest.RestJavaMethod.<init>(RestJavaMethod.java:92)
>>>>>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3236)
>>>>>> ... 9 more
>>>>>> 2018-10-15 16:51:23,700 WARN
>>>>>> [com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1][o.e.j.s.h.C.ROOT]
>>>>>> unavailable
>>>>>> java.lang.RuntimeException:
>>>>>> org.apache.juneau.rest.RestServletException: Problem occurred trying
to
>>>>>> serialize methods on class
>>>>>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>>>>>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:262)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at org.apache.juneau.rest.RestServlet.init(RestServlet.java:53)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:670)
>>>>>> ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
>>>>>> ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installProxy(NHttpReverseProxy.java:1867)
>>>>>> ~[classes/:?]
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installAdmin(NHttpReverseProxy.java:1823)
>>>>>> ~[classes/:?]
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.NHttpReverseProxy.goLoop(NHttpReverseProxy.java:1533)
>>>>>> ~[classes/:?]
>>>>>> at
>>>>>> com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1.lambda$0(NHttpReverseProxyTestRule.java:191)
>>>>>> ~[test-classes/:?]
>>>>>> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
>>>>>> Caused by: org.apache.juneau.rest.RestServletException: Problem
>>>>>> occurred trying to serialize methods on class
>>>>>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>>>>>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>>>>>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3303)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> ... 8 more
>>>>>> Caused by: org.apache.juneau.rest.RestServletException: Invalid
>>>>>> parameter specified for method
>>>>>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources.reconfigure(String,Reader)'
>>>>>> at index position 0
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContext.findParams(RestContext.java:4613)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at
>>>>>> org.apache.juneau.rest.RestJavaMethod$Builder.<init>(RestJavaMethod.java:394)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at
>>>>>> org.apache.juneau.rest.RestJavaMethod.<init>(RestJavaMethod.java:92)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3236)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> at
>>>>>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>>>>>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>>>>>> ... 8 more
>>>>>>
>>>>>> Thoughts?
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> On Mon, Oct 15, 2018 at 9:12 AM Gary Gregory <garydgregory@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Yep, it compiles, trying the runtime now...
>>>>>>>
>>>>>>> Gary
>>>>>>>
>>>>>>> On Mon, Oct 15, 2018 at 7:42 AM James Bognar <jamesbognar@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Fixed.  You can try again.
>>>>>>>>
>>>>>>>> On Sun, Oct 14, 2018 at 10:07 PM Gary Gregory <
>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi James:
>>>>>>>>>
>>>>>>>>> Using 7.2.1-SNAPSHOT, I only have one (1) compiler error:
>>>>>>>>>
>>>>>>>>> The import org.apache.juneau.xml.XmlSchemaDocSerializer
cannot be
>>>>>>>>> resolved.
>>>>>>>>>
>>>>>>>>> Gary
>>>>>>>>>
>>>>>>>>> On Sun, Oct 14, 2018 at 1:38 PM Gary Gregory <
>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Thank you, I should be home to take a look tonight...
>>>>>>>>>>
>>>>>>>>>> Gary
>>>>>>>>>>
>>>>>>>>>> On Sat, Oct 13, 2018, 17:36 James Bognar <jamesbognar@apache.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Gary.  Just delivered the changes.  You can
try them out now.
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Oct 12, 2018 at 6:19 PM James Bognar
<
>>>>>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I'm going to need a couple of days to make
those changes.  I'll
>>>>>>>>>>>> announce when they're ready.
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Oct 12, 2018 at 4:25 PM Gary Gregory
<
>>>>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 11:32 AM Gary
Gregory <
>>>>>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 11:28 AM
James Bognar <
>>>>>>>>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Yes, I will try my best to try
to add in backwards
>>>>>>>>>>>>>>> compatibility in 7.2.1.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Great and thank you, I can test a
SNAPSHOT version when you
>>>>>>>>>>>>>> give the go ahead.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> May you please indicate a time-frame
for which I should set
>>>>>>>>>>>>> aside some time for testing a SNAPSHOT?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you,
>>>>>>>>>>>>> Gary
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Gary
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 1:21
PM Gary Gregory <
>>>>>>>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 11:17
AM James Bognar <
>>>>>>>>>>>>>>>> jamesbognar@apache.org>
wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Yea I can do that.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi James,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> My goal, which I hope you
share is:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> - Update from 7.1.0 to 7.2.1
as a drop-in replacement
>>>>>>>>>>>>>>>> (skipping 7.2.0 altogether.)
>>>>>>>>>>>>>>>> - Follow the @deprecated
warnings and update my source code.
>>>>>>>>>>>>>>>> - Update to the next release,
whenever that is, as a drop
>>>>>>>>>>>>>>>> in replacement. Would that
then be 8.0?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Is that how you see it?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Gary
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thu, Oct 11, 2018
at 1:15 PM Gary Gregory <
>>>>>>>>>>>>>>>>> garydgregory@gmail.com>
wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Thu, Oct 11, 2018
at 10:47 AM James Bognar <
>>>>>>>>>>>>>>>>>> jamesbognar@apache.org>
wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> In hindsight,
Juneau 7.2.0 should have been released as
>>>>>>>>>>>>>>>>>>> Juneau 8 due
to breaking changes.  Particularly, the server and client side
>>>>>>>>>>>>>>>>>>> annotations were
merged into a single set of annotations.  I'm now getting
>>>>>>>>>>>>>>>>>>> negative feedback
for that decision (rightly so).
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> My plan to fix
this is to revert the changes made in
>>>>>>>>>>>>>>>>>>> 7.2.0 and to
re-release 7.1.1 as 7.2.1.  Then release Juneau 8 with the
>>>>>>>>>>>>>>>>>>> latest bug fixes
included.  Given the significant changes made in 7.2.0, I
>>>>>>>>>>>>>>>>>>> do not believe
it's possible to fix backwards compatibility (just unmerging
>>>>>>>>>>>>>>>>>>> those annotations
would explode the code complexity).
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thank you for that.
But will there be @deprecated
>>>>>>>>>>>>>>>>>> comments so that
we can move to the new code?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Gary
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>

Mime
View raw message