Bug 780943 (SOA-3410)

Summary: Smooks breaks backward compatibility between SOA-P 5.1 and 5.2 in some cases
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Robert Balent <rbalent>
Component: Documentation, 3rd Party, CompatibilityAssignee: David Le Sage <dlesage>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.2.0.ER4CC: dlesage, ldimaggi, mvecera, rbalent, tom.fennelly
Target Milestone: ---   
Target Release: 5.2.0.ER5   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3410
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-04 13:34:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Robert Balent 2011-09-22 15:31:26 UTC
Affects: Documentation (Ref Guide, User Guide, etc.)
project_key: SOA

Smooks doesn't support some configurations with SOA-P 5.2 that are possible with SOA-P 5.1.

For example we can define EDI mapping model in two ways. The first[1] works on both versions, but second[2] can be used only with SOA-P 5.1.

The second configuration was in quickstarts last time in SOA-P 4.3 so it's probably not very important issue. But if customer uses this configuration on SOA-P 5.1 and will migrate, it will crash on SOA-P 5.2.



[1]
<edi:reader mappingModel="parse/edi-to-xml-order-mapping.xml" />

[2]
<resource-config selector="org.xml.sax.driver">
    <resource>org.milyn.smooks.edi.SmooksEDIParser</resource>
    <param name="mapping-model">/smooks_configs/parse/edi-to-xml-order-mapping.xml</param>
</resource-config>

Comment 1 Tom Fennelly 2011-09-22 16:19:11 UTC
What error is coming out of the second config?

Comment 2 Tom Fennelly 2011-09-22 16:28:31 UTC
Obviously the paths to the mapping configs in [1] and [2] are different.  I assume that's not relevant wrt the tests your doing?

Comment 3 Robert Balent 2011-09-22 16:43:08 UTC
It works on 5.1, but it's ClassNotFoundException. Smooks in SOA 5.2 doesn't even contains class org.milyn.smooks.edi.SmooksEDIParser.

Comment 4 Tom Fennelly 2011-09-22 19:38:57 UTC
OK... that class was deprecated since v1.3 (http://www.milyn.org/javadoc/v1.3/smooks-cartridges/edi/) and was removed in v1.4 (http://www.milyn.org/javadoc/v1.4/smooks-cartridges/edi/).

If still using the old config, you need to change it to use EDIReader (http://www.milyn.org/javadoc/v1.4/smooks-cartridges/edi/org/milyn/smooks/edi/EDIReader.html)

Comment 5 Robert Balent 2011-09-22 19:45:25 UTC
So it is now documentation issue and it will be the best to mention in migration guide that if you use this old deprecated class you should change it to EDIReader. Am I right?

Comment 6 Tom Fennelly 2011-09-22 19:52:15 UTC
You could document it that way (change class to "org.milyn.smooks.edi.EDIReader"), or tell them to modify the config to use the newer config as per config [1] in your original post.

Comment 7 Robert Balent 2011-09-22 19:55:30 UTC
I've got one other question. Do you know some other classes that were removed in v1.4 and is possible that it can break some Smooks configurations so we can document it? Thank you very much.

Comment 8 Tom Fennelly 2011-09-22 20:03:50 UTC
Off the top of my head... I don't know.  Shouldn't be too hard to compile a list however, using the Javadoc for each version (http://www.smooks.org/mediawiki/index.php?title=User_Documentation).  You can see the deprecated classes in each version of the API and so should be able to easily see which classes were removed.



Comment 9 Tom Fennelly 2011-09-22 20:18:02 UTC
Just thought too... if you go to Milyn Jira you should be able to get a list of all issues that effect compatibility.

http://jira.codehaus.org/secure/IssueNavigator!executeAdvanced.jspa

and enter the following query...

project = MILYN AND fixVersion = "Smooks v1.4" AND status = Closed AND component = "Backward Compatibility Breaker"

Comment 10 Len DiMaggio 2011-10-04 13:37:56 UTC
Tom - for SOA-P 5.2 we need to either:

* Identify impact to our customers - what will fail in smooks - in documentation - but - the class was not deprecated in the Smooks we shipped in 5.1, correct?

-or-

* Fallback to Smooks 1.3

Do we think that this is an edge case?

Comment 11 Tom Fennelly 2011-10-04 13:44:15 UTC
The class was also deprecated in 1.2 (http://www.milyn.org/javadoc/v1.2/smooks-cartridges/edi/org/milyn/smooks/edi/SmooksEDIParser.html), which is the version in 5.1.

Comment 12 Len DiMaggio 2011-10-04 17:00:43 UTC
Affects: Added: Documentation (Ref Guide, User Guide, etc.)


Comment 14 David Le Sage 2011-10-05 04:25:11 UTC
Release Notes Docs Status: Added: Documented as Known Issue
Writer: Added: dlesage
Release Notes Text: Added: https://issues.jboss.org/browse/SOA-3410

There is a backwards compatibility issue as Smooks no longer contains org.milyn.smooks.edi.SmooksEDIParser class. If you are still using an old configuration, you must change it to use EDIReader (http://www.milyn.org/javadoc/v1.4/smooks-cartridges/edi/org/milyn/smooks/edi/EDIReader.html) or update the configuration to this:  &lt;edi:reader mappingModel="parse/edi-to-xml-order-mapping.xml" /&gt;



Comment 15 David Le Sage 2011-10-05 04:25:37 UTC
Documented in release notes as a known issue.

Comment 16 Martin Vecera 2011-10-21 08:57:45 UTC
I cannot find the text in http://documentation-stage.bne.redhat.com/docs/en-US/JBoss_Enterprise_SOA_Platform/5/html/5.2.0_Release_Notes/index.html

Is there any other location for the document?

Comment 17 David Le Sage 2011-10-25 01:11:30 UTC
Hello Martin. It is in the release notes field at the top of this JIRA form ^. When I rebuild the release notes doc itself, it will be pulled in automatically.