--- old/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java 2017-05-03 18:05:46.675095108 +0300 +++ new/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java 2017-05-03 18:05:46.575095111 +0300 @@ -29,12 +29,10 @@ */ package com.sun.xml.internal.messaging.saaj.soap.ver1_2; -import java.util.*; import java.util.logging.Logger; import java.util.logging.Level; import javax.xml.namespace.QName; -import javax.xml.soap.*; import com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl; import com.sun.xml.internal.messaging.saaj.soap.SOAPDocument; @@ -42,6 +40,14 @@ import com.sun.xml.internal.messaging.saaj.soap.impl.*; import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl; import com.sun.xml.internal.messaging.saaj.util.LogDomainConstants; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import javax.xml.soap.Name; +import javax.xml.soap.SOAPConstants; +import javax.xml.soap.SOAPElement; +import javax.xml.soap.SOAPException; import org.w3c.dom.Element; @@ -73,18 +79,22 @@ super(ownerDoc, domElement); } + @Override protected NameImpl getDetailName() { return NameImpl.createSOAP12Name("Detail", getPrefix()); } + @Override protected NameImpl getFaultCodeName() { return NameImpl.createSOAP12Name("Code", getPrefix()); } + @Override protected NameImpl getFaultStringName() { return getFaultReasonName(); } + @Override protected NameImpl getFaultActorName() { return getFaultRoleName(); } @@ -109,17 +119,20 @@ return NameImpl.createXmlName("lang"); } + @Override protected DetailImpl createDetail() { return new Detail1_2Impl( ((SOAPDocument) getOwnerDocument()).getDocument()); } + @Override protected FaultElementImpl createSOAPFaultElement(String localName) { return new FaultElement1_2Impl( ((SOAPDocument) getOwnerDocument()).getDocument(), localName); } + @Override protected void checkIfStandardFaultCode(String faultCode, String uri) throws SOAPException { QName qname = new QName(uri, faultCode); @@ -136,6 +149,7 @@ throw new SOAPExceptionImpl(qname + " is not a standard Code value"); } + @Override protected void finallySetFaultCode(String faultcode) throws SOAPException { SOAPElement value = this.faultCodeElement.addChildElement(valueName); value.addTextNode(faultcode); @@ -145,13 +159,14 @@ findFaultStringElement(); } - public Iterator getFaultReasonTexts() throws SOAPException { + @Override + public Iterator getFaultReasonTexts() throws SOAPException { // Fault Reason has similar semantics as faultstring if (this.faultStringElement == null) findReasonElement(); Iterator eachTextElement = this.faultStringElement.getChildElements(textName); - List texts = new ArrayList(); + List texts = new ArrayList<>(); while (eachTextElement.hasNext()) { SOAPElement textElement = (SOAPElement) eachTextElement.next(); Locale thisLocale = getLocale(textElement); @@ -168,6 +183,7 @@ return texts.iterator(); } + @Override public void addFaultReasonText(String text, java.util.Locale locale) throws SOAPException { @@ -214,6 +230,7 @@ } } + @Override public String getFaultReasonText(Locale locale) throws SOAPException { if (locale == null) @@ -234,13 +251,14 @@ return null; } - public Iterator getFaultReasonLocales() throws SOAPException { + @Override + public Iterator getFaultReasonLocales() throws SOAPException { // Fault Reason has similar semantics as faultstring if (this.faultStringElement == null) findReasonElement(); Iterator eachTextElement = this.faultStringElement.getChildElements(textName); - List localeSet = new ArrayList(); + List localeSet = new ArrayList<>(); while (eachTextElement.hasNext()) { SOAPElement textElement = (SOAPElement) eachTextElement.next(); Locale thisLocale = getLocale(textElement); @@ -257,6 +275,7 @@ return localeSet.iterator(); } + @Override public Locale getFaultStringLocale() { Locale locale = null; try { @@ -288,6 +307,7 @@ return null; } + @Override public String getFaultNode() { SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName()); if (faultNode == null) { @@ -296,6 +316,7 @@ return faultNode.getValue(); } + @Override public void setFaultNode(String uri) throws SOAPException { SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName()); if (faultNode != null) { @@ -314,10 +335,12 @@ addNode(faultNode); } + @Override public String getFaultRole() { return getFaultActor(); } + @Override public void setFaultRole(String uri) throws SOAPException { if (this.faultActorElement == null) findFaultActorElement(); @@ -333,6 +356,7 @@ addNode(this.faultActorElement); } + @Override public String getFaultCode() { if (this.faultCodeElement == null) findFaultCodeElement(); @@ -341,6 +365,7 @@ return ((SOAPElement) codeValues.next()).getValue(); } + @Override public QName getFaultCodeAsQName() { String faultcode = getFaultCode(); if (faultcode == null) { @@ -355,6 +380,7 @@ (SOAPElement) valueElements.next()); } + @Override public Name getFaultCodeAsName() { String faultcode = getFaultCode(); if (faultcode == null) { @@ -370,6 +396,7 @@ (SOAPElement) valueElements.next())); } + @Override public String getFaultString() { String reason = null; try { @@ -380,10 +407,12 @@ return reason; } + @Override public void setFaultString(String faultString) throws SOAPException { addFaultReasonText(faultString, Locale.getDefault()); } + @Override public void setFaultString( String faultString, Locale locale) @@ -391,6 +420,7 @@ addFaultReasonText(faultString, locale); } + @Override public void appendFaultSubcode(QName subcode) throws SOAPException { if (subcode == null) { return; @@ -426,6 +456,7 @@ subcodeValueElement.addTextNode(prefix + ":" + subcode.getLocalPart()); } + @Override public void removeAllFaultSubcodes() { if (this.faultCodeElement == null) findFaultCodeElement(); @@ -437,10 +468,11 @@ } } - public Iterator getFaultSubcodes() { + @Override + public Iterator getFaultSubcodes() { if (this.faultCodeElement == null) findFaultCodeElement(); - final List subcodeList = new ArrayList(); + final List subcodeList = new ArrayList<>(); SOAPElement currentCodeElement = this.faultCodeElement; Iterator subcodeElements = currentCodeElement.getChildElements(subcodeName); @@ -457,14 +489,17 @@ return new Iterator() { Iterator subCodeIter = subcodeList.iterator(); + @Override public boolean hasNext() { return subCodeIter.hasNext(); } + @Override public QName next() { return subCodeIter.next(); } + @Override public void remove() { throw new UnsupportedOperationException( "Method remove() not supported on SubCodes Iterator"); @@ -480,11 +515,13 @@ * Override setEncodingStyle of ElementImpl to restrict adding encodingStyle * attribute to SOAP Fault (SOAP 1.2 spec, part 1, section 5.1.1) */ + @Override public void setEncodingStyle(String encodingStyle) throws SOAPException { log.severe("SAAJ0407.ver1_2.no.encodingStyle.in.fault"); throw new SOAPExceptionImpl("encodingStyle attribute cannot appear on Fault"); } + @Override public SOAPElement addAttribute(Name name, String value) throws SOAPException { if (name.getLocalName().equals("encodingStyle") @@ -494,6 +531,7 @@ return super.addAttribute(name, value); } + @Override public SOAPElement addAttribute(QName name, String value) throws SOAPException { if (name.getLocalPart().equals("encodingStyle") @@ -503,6 +541,7 @@ return super.addAttribute(name, value); } + @Override public SOAPElement addTextNode(String text) throws SOAPException { log.log( Level.SEVERE, @@ -511,6 +550,7 @@ throw new SOAPExceptionImpl("Adding text to SOAP 1.2 Fault is not legal"); } + @Override public SOAPElement addChildElement(SOAPElement element) throws SOAPException { String localName = element.getLocalName(); @@ -533,6 +573,7 @@ return super.addChildElement(element); } + @Override protected boolean isStandardFaultElement(String localName) { if (localName.equalsIgnoreCase("code") || localName.equalsIgnoreCase("reason") || @@ -544,22 +585,26 @@ return false; } + @Override protected QName getDefaultFaultCode() { return SOAPConstants.SOAP_SENDER_FAULT; } + @Override protected FaultElementImpl createSOAPFaultElement(QName qname) { return new FaultElement1_2Impl( ((SOAPDocument) getOwnerDocument()).getDocument(), qname); } + @Override protected FaultElementImpl createSOAPFaultElement(Name qname) { return new FaultElement1_2Impl( ((SOAPDocument) getOwnerDocument()).getDocument(), (NameImpl)qname); } + @Override public void setFaultActor(String faultActor) throws SOAPException { this.setFaultRole(faultActor); }