[ 
https://issues.apache.org/jira/browse/JENA-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322969#comment-14322969
 ] 

Stian Soiland-Reyes commented on JENA-878:
------------------------------------------

Response from xerces folks:
http://mail-archives.apache.org/mod_mbox/xerces-j-users/201502.mbox/%3COFD32090A1.EF93F5B2-ON85257DEB.005B3240-85257DEB.005DA612%40ca.ibm.com%3E

{quote}
We've changed other 'stable' looking implementation classes in the past to  
support new function, for performance reasons, to address security issues,  
etc... and need flexibility in order to do so. 
So while org.apache.xerces.impl.dv.SchemaDVFactory and its friends have 
generally been stable we're not guaranteeing that they always will be.
{quote}


Perhaps accept pull #31 and close this bug as "Not A Problem ... Yet" ...?

> Avoid dependencies on xerces.impl
> ---------------------------------
>
>                 Key: JENA-878
>                 URL: https://issues.apache.org/jira/browse/JENA-878
>             Project: Apache Jena
>          Issue Type: Task
>          Components: Jena
>    Affects Versions: Jena 2.13.0
>            Reporter: Stian Soiland-Reyes
>            Priority: Minor
>
> Building jena-osgi complains about xerces.impl dependencies:
> > [WARNING] Bundle org.apache.jena:jena-osgi:bundle:2.12.2-SNAPSHOT : Unused
> > Private-Package instructions, no such package(s) on the class path: [!*]
> > [WARNING] Bundle org.apache.jena:jena-osgi:bundle:2.12.2-SNAPSHOT : Export
> > com.hp.hpl.jena.datatypes.xsd,  has 1,  private references
> > [org.apache.xerces.impl.dv],
> {code}
> stain@biggie-utopic:~/src/jena/jena-core/src/main/java/com/hp/hpl/jena/datatypes$
>  grep -r xerces.*impl .
> ./xsd/XSDDatatype.java:import org.apache.xerces.impl.dv.* ;
> ./xsd/XSDDatatype.java:import org.apache.xerces.impl.dv.util.Base64 ;
> ./xsd/XSDDatatype.java:import org.apache.xerces.impl.dv.util.HexBin ;
> ./xsd/XSDDatatype.java:import org.apache.xerces.impl.dv.xs.DecimalDV ;
> ./xsd/XSDDatatype.java:import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl ;
> ./xsd/XSDDatatype.java:import 
> org.apache.xerces.impl.validation.ValidationState ;
> ./xsd/XSDhexBinary.java:import org.apache.xerces.impl.dv.util.HexBin ;
> ./xsd/XSDbase64Binary.java:import org.apache.xerces.impl.dv.util.Base64 ;
> ./xsd/impl/XSDGenericType.java:import org.apache.xerces.impl.dv.XSSimpleType;
> {code}
> It is not good style to depend on *.impl of a package - it is liable to fall 
> over at some point.  jena-osgi complains, but works in this particular case, 
> because xercesImpl is shadowed in.
> Some/all of these (base64) are available through more official packages - 
> org.apache.commons.codec.binary.Base64 comes to mind.
> https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base64.html
> https://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Hex.html
> So this task suggests to replace these dependencies with commons-codec 
> versions. Remember to add commons-codec to jena-osgi as well!  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to