Changeset 1196 for trunk/docx4j/src/main/java/org
- Timestamp:
- 08/26/10 16:27:13 (18 months ago)
- Location:
- trunk/docx4j/src/main/java/org/docx4j/jaxb
- Files:
-
- 2 edited
-
Context.java (modified) (2 diffs)
-
NamespacePrefixMapperUtils.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/jaxb/Context.java
r1152 r1196 49 49 Class c; 50 50 try { 51 c = Class.forName("com.sun.xml.bind.marshaller.NamespacePrefixMapper"); 52 System.out.println("JAXB: Using RI (or recent Java 6?)"); 53 54 // 2010 07 13 recent versions of Java 6 seem to include 55 // com.sun.xml.bind.marshaller.NamespacePrefixMapper, 56 // so we can't be sure its the RI. 51 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 52 System.out.println("JAXB: Using RI"); 57 53 58 54 } catch (ClassNotFoundException cnfe) { … … 60 56 System.out.println("JAXB: RI not present. Trying Java 6 implementation."); 61 57 try { 62 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");58 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 63 59 System.out.println("JAXB: Using Java 6 implementation."); 64 60 } catch (ClassNotFoundException e) { -
trunk/docx4j/src/main/java/org/docx4j/jaxb/NamespacePrefixMapperUtils.java
r1184 r1196 8 8 public class NamespacePrefixMapperUtils { 9 9 10 private static Logger log = Logger.getLogger(NamespacePrefixMapperUtils.class); 10 private static Logger log = Logger.getLogger(NamespacePrefixMapperUtils.class); 11 12 /* 13 * As from 2010 08 26, 14 * both com.sun.xml.bind.marshaller.NamespacePrefixMapper 15 * and com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper 16 * are provided in the jar JAXB-NamespacePrefixMapperInterfaces.jar 17 * so that people can build docx4j without needing both JAXB 18 * implementations. 19 * 20 * But if that jar is on their classpath, testing for either 21 * of these classes will always succeed. 22 * 23 * So, we have to test for something else. The following will do: 24 * 25 * com.sun.xml.bind.marshaller.MinimumEscapeHandler 26 * com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler 27 */ 11 28 12 29 … … 15 32 Class c; 16 33 try { 17 c = Class.forName("com.sun.xml.bind.marshaller. NamespacePrefixMapper");34 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 18 35 return new NamespacePrefixMapper(); // JAXB Reference Implementation 19 36 } catch (ClassNotFoundException cnfe) { 20 37 // JAXB Reference Implementation not present 21 38 // Use Java 6 implementation 22 log.info("JAXB RI (com.sun.xml.bind.marshaller. NamespacePrefixMapper) not present. Trying Java 6 implementation.");39 log.info("JAXB RI (com.sun.xml.bind.marshaller.MinimumEscapeHandler) not present. Trying Java 6 implementation."); 23 40 try { 24 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");41 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 25 42 } catch (ClassNotFoundException e) { 26 43 e.printStackTrace(); … … 37 54 Class c; 38 55 try { 39 c = Class.forName("com.sun.xml.bind.marshaller. NamespacePrefixMapper");56 c = Class.forName("com.sun.xml.bind.marshaller.MinimumEscapeHandler"); 40 57 return new NamespacePrefixMapperRelationshipsPart(); 41 58 } catch (ClassNotFoundException cnfe) { 42 59 // JAXB Reference Implementation not present 43 log.info("JAXB RI (com.sun.xml.bind.marshaller. NamespacePrefixMapper) not present. Trying Java 6 implementation.");60 log.info("JAXB RI (com.sun.xml.bind.marshaller.MinimumEscapeHandler) not present. Trying Java 6 implementation."); 44 61 try { 45 c = Class.forName("com.sun.xml.internal.bind.marshaller. NamespacePrefixMapper");62 c = Class.forName("com.sun.xml.internal.bind.marshaller.MinimumEscapeHandler"); 46 63 } catch (ClassNotFoundException e) { 47 64 e.printStackTrace();
Note: See TracChangeset
for help on using the changeset viewer.
