/* */ static /* */ { /* */ try /* */ { /* 150 */ XmlSchema s = null; /* 151 */ s.location(); /* */ } /* */ catch (NullPointerException e) /* */ { /* */ } /* */ catch (NoSuchMethodError e) /* */ { /* */ Messages res; /* */ Messages res; /* 157 */ if (XmlSchema.class.getClassLoader() == null) /* 158 */ res = Messages.INCOMPATIBLE_API_VERSION_MUSTANG; /* */ else { /* 160 */ res = Messages.INCOMPATIBLE_API_VERSION; /* */ } /* 162 */ throw new LinkageError( res.format(new Object[] {Which.which(XmlSchema.class), Which.which(ModelBuilder.class)})); /* */ } /* */ /* */ try /* */ { /* 175 */ WhiteSpaceProcessor.isWhiteSpace("xyz"); /* */ } /* */ catch (NoSuchMethodError e) { /* 178 */ throw new LinkageError( Messages.RUNNING_WITH_1_0_RUNTIME.format( new Object[] { Which.which(WhiteSpaceProcessor.class), Which.which(ModelBuilder.class) })); /* */ } /* */ }
/** * Computes the file system path of <tt>jaxb-api.jar</tt> so that Annotation Processing will see * them in the <tt>-cp</tt> option. * * <p>In Java, you can't do this reliably (for that matter there's no guarantee that such a jar * file exists, such as in Glassfish), so we do the best we can. * * @return null if failed to locate it. */ private static String findJaxbApiJar() { String url = Which.which(JAXBContext.class); if (url == null) return null; // impossible, but hey, let's be defensive if (!url.startsWith("jar:") || url.lastIndexOf('!') == -1) // no jar file return null; String jarFileUrl = url.substring(4, url.lastIndexOf('!')); if (!jarFileUrl.startsWith("file:")) return null; // not from file system try { File f = new File(new URL(jarFileUrl).toURI()); if (f.exists() && f.getName().endsWith(".jar")) { // see 6510966 return f.getPath(); } f = new File(new URL(jarFileUrl).getFile()); if (f.exists() && f.getName() .endsWith(".jar")) { // this is here for potential backw. compatibility issues return f.getPath(); } } catch (URISyntaxException ex) { Logger.getLogger(SchemaGenerator.class.getName()).log(Level.SEVERE, null, ex); } catch (MalformedURLException ex) { Logger.getLogger(SchemaGenerator.class.getName()).log(Level.SEVERE, null, ex); } return null; }
private SOAPVersion( String httpBindingId, String nsUri, String contentType, String implicitRole, String roleAttributeName, String saajFactoryString, QName faultCodeMustUnderstand, String faultCodeClientLocalName, String faultCodeServerLocalName, Set<String> requiredRoles) { this.httpBindingId = httpBindingId; this.nsUri = nsUri; this.contentType = contentType; this.implicitRole = implicitRole; this.implicitRoleSet = Collections.singleton(implicitRole); this.roleAttributeName = roleAttributeName; try { saajMessageFactory = MessageFactory.newInstance(saajFactoryString); saajSoapFactory = SOAPFactory.newInstance(saajFactoryString); } catch (SOAPException e) { throw new Error(e); } catch (NoSuchMethodError e) { // SAAJ 1.3 is not in the classpath LinkageError x = new LinkageError("You are loading old SAAJ from " + Which.which(MessageFactory.class)); x.initCause(e); throw x; } this.faultCodeMustUnderstand = faultCodeMustUnderstand; this.requiredRoles = requiredRoles; this.faultCodeClient = new QName(nsUri, faultCodeClientLocalName); this.faultCodeServer = new QName(nsUri, faultCodeServerLocalName); }