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

ASF GitHub Bot commented on JENA-878:
-------------------------------------

Github user afs commented on a diff in the pull request:

    https://github.com/apache/jena/pull/31#discussion_r24904627
  
    --- Diff: 
jena-core/src/main/java/com/hp/hpl/jena/datatypes/xsd/XSDDatatype.java ---
    @@ -18,34 +18,52 @@
     
     package com.hp.hpl.jena.datatypes.xsd;
     
    -import java.io.Reader ;
    -import java.math.BigDecimal ;
    -import java.math.BigInteger ;
    +import java.io.Reader;
    +import java.math.BigDecimal;
    +import java.math.BigInteger;
     import java.net.URI;
    -import java.util.ArrayList ;
    -import java.util.List ;
    -
    -import org.apache.xerces.impl.dv.* ;
    -import org.apache.xerces.impl.dv.util.Base64 ;
    -import org.apache.xerces.impl.dv.util.HexBin ;
    -import org.apache.xerces.impl.dv.xs.DecimalDV ;
    -import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl ;
    -import org.apache.xerces.impl.validation.ValidationState ;
    -import org.apache.xerces.parsers.XMLGrammarPreparser ;
    -import org.apache.xerces.util.SymbolHash ;
    -import org.apache.xerces.xni.grammars.XMLGrammarDescription ;
    -import org.apache.xerces.xni.grammars.XSGrammar ;
    -import org.apache.xerces.xni.parser.XMLInputSource ;
    -import org.apache.xerces.xs.XSConstants ;
    -import org.apache.xerces.xs.XSNamedMap ;
    -import org.apache.xerces.xs.XSTypeDefinition ;
    -
    -import com.hp.hpl.jena.datatypes.BaseDatatype ;
    -import com.hp.hpl.jena.datatypes.DatatypeFormatException ;
    -import com.hp.hpl.jena.datatypes.RDFDatatype ;
    -import com.hp.hpl.jena.datatypes.TypeMapper ;
    -import com.hp.hpl.jena.datatypes.xsd.impl.* ;
    -import com.hp.hpl.jena.graph.impl.LiteralLabel ;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +import org.apache.xerces.impl.dv.InvalidDatatypeValueException;
    +import org.apache.xerces.impl.dv.SchemaDVFactory;
    +import org.apache.xerces.impl.dv.ValidatedInfo;
    +import org.apache.xerces.impl.dv.ValidationContext;
    +import org.apache.xerces.impl.dv.XSSimpleType;
    +import org.apache.xerces.impl.dv.util.Base64;
    +import org.apache.xerces.impl.dv.util.HexBin;
    +import org.apache.xerces.impl.dv.xs.DecimalDV;
    +import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;
    +import org.apache.xerces.impl.validation.ValidationState;
    +import org.apache.xerces.parsers.XMLGrammarPreparser;
    +import org.apache.xerces.util.SymbolHash;
    +import org.apache.xerces.xni.grammars.XMLGrammarDescription;
    +import org.apache.xerces.xni.grammars.XSGrammar;
    +import org.apache.xerces.xni.parser.XMLInputSource;
    +import org.apache.xerces.xs.XSConstants;
    +import org.apache.xerces.xs.XSNamedMap;
    +import org.apache.xerces.xs.XSTypeDefinition;
    +
    +import com.hp.hpl.jena.datatypes.BaseDatatype;
    +import com.hp.hpl.jena.datatypes.DatatypeFormatException;
    +import com.hp.hpl.jena.datatypes.RDFDatatype;
    +import com.hp.hpl.jena.datatypes.TypeMapper;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDBaseNumericType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDBaseStringType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDByteType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDDateTimeType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDDateType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDDayType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDDouble;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDDurationType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDFloat;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDMonthDayType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDMonthType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDPlainType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDTimeType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDYearMonthType;
    +import com.hp.hpl.jena.datatypes.xsd.impl.XSDYearType;
    +import com.hp.hpl.jena.graph.impl.LiteralLabel;
    --- End diff --
    
    Gnerally, we havn't enforced style of imports.  These will get lost is 
anyone uses Eclipse to reformat and has * collapse on (which it is by default).


> 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