< prev index next >

jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java

Print this page

        

@@ -27,23 +27,29 @@
 *
 * @author SAAJ RI Development Team
 */
 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;
 import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl;
 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;
 
 
 public class Fault1_2Impl extends FaultImpl {
 

@@ -67,26 +73,34 @@
 
     public Fault1_2Impl(SOAPDocumentImpl ownerDocument, String prefix) {
         super(ownerDocument, NameImpl.createFault1_2Name(null, prefix));
     }
 
-    public Fault1_2Impl(Element domElement, SOAPDocumentImpl ownerDoc) {
+    public Fault1_2Impl(SOAPDocumentImpl ownerDocument) {
+        super(ownerDocument, NameImpl.createFault1_2Name(null, null));
+    }
+
+    public Fault1_2Impl(SOAPDocumentImpl ownerDoc, Element domElement) {
         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();
     }
 
     private  NameImpl getFaultRoleName() {

@@ -107,21 +121,24 @@
 
     private static NameImpl getXmlLangName() {
         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);
         if (SOAPConstants.SOAP_DATAENCODINGUNKNOWN_FAULT.equals(qname) ||
             SOAPConstants.SOAP_MUSTUNDERSTAND_FAULT.equals(qname) ||

@@ -134,26 +151,28 @@
             "SAAJ0435.ver1_2.code.not.standard",
             qname);
         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);
     }
 
     private void findReasonElement() {
         findFaultStringElement();
     }
 
-    public Iterator getFaultReasonTexts() throws SOAPException {
+    @Override
+    public Iterator<String> getFaultReasonTexts() throws SOAPException {
         // Fault Reason has similar semantics as faultstring
         if (this.faultStringElement == null)
             findReasonElement();
         Iterator eachTextElement =
             this.faultStringElement.getChildElements(textName);
-        List<String> texts = new ArrayList<String>();
+        List<String> texts = new ArrayList<>();
         while (eachTextElement.hasNext()) {
             SOAPElement textElement = (SOAPElement) eachTextElement.next();
             Locale thisLocale = getLocale(textElement);
             if (thisLocale == null) {
                 log.severe("SAAJ0431.ver1_2.xml.lang.missing");

@@ -166,10 +185,11 @@
             throw new SOAPExceptionImpl("env:Text must be present inside env:Reason");
         }
         return texts.iterator();
     }
 
+    @Override
     public void addFaultReasonText(String text, java.util.Locale locale)
         throws SOAPException {
 
         if (locale == null) {
             log.severe("SAAJ0430.ver1_2.locale.required");

@@ -212,10 +232,11 @@
                 reasonText.detachNode();
             }
         }
     }
 
+    @Override
     public String getFaultReasonText(Locale locale) throws SOAPException {
 
         if (locale == null)
             return null;
 

@@ -232,17 +253,18 @@
         }
 
         return null;
     }
 
-    public Iterator getFaultReasonLocales() throws SOAPException {
+    @Override
+    public Iterator<Locale> getFaultReasonLocales() throws SOAPException {
         // Fault Reason has similar semantics as faultstring
         if (this.faultStringElement == null)
             findReasonElement();
         Iterator eachTextElement =
             this.faultStringElement.getChildElements(textName);
-        List<Locale> localeSet = new ArrayList<Locale>();
+        List<Locale> localeSet = new ArrayList<>();
         while (eachTextElement.hasNext()) {
             SOAPElement textElement = (SOAPElement) eachTextElement.next();
             Locale thisLocale = getLocale(textElement);
             if (thisLocale == null) {
                 log.severe("SAAJ0431.ver1_2.xml.lang.missing");

@@ -255,10 +277,11 @@
             throw new SOAPExceptionImpl("env:Text elements with mandatory xml:lang attributes must be present inside env:Reason");
         }
         return localeSet.iterator();
     }
 
+    @Override
     public Locale getFaultStringLocale() {
         Locale locale = null;
         try {
             locale = (Locale) getFaultReasonLocales().next();
         } catch (SOAPException e) {}

@@ -286,18 +309,20 @@
             }
         }
         return null;
     }
 
+    @Override
     public String getFaultNode() {
         SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName());
         if (faultNode == null) {
             return null;
         }
         return faultNode.getValue();
     }
 
+    @Override
     public void setFaultNode(String uri) throws SOAPException {
         SOAPElement faultNode = findAndConvertChildElement(getFaultNodeName());
         if (faultNode != null) {
             faultNode.detachNode();
         }

@@ -312,14 +337,16 @@
             return;
         }
         addNode(faultNode);
     }
 
+    @Override
     public String getFaultRole() {
         return getFaultActor();
     }
 
+    @Override
     public void setFaultRole(String uri) throws SOAPException {
         if (this.faultActorElement == null)
             findFaultActorElement();
         if (this.faultActorElement != null)
             this.faultActorElement.detachNode();

@@ -331,18 +358,20 @@
             return;
         }
         addNode(this.faultActorElement);
     }
 
+    @Override
     public String getFaultCode() {
         if (this.faultCodeElement == null)
             findFaultCodeElement();
         Iterator codeValues =
             this.faultCodeElement.getChildElements(valueName);
         return ((SOAPElement) codeValues.next()).getValue();
     }
 
+    @Override
     public QName getFaultCodeAsQName() {
         String faultcode = getFaultCode();
         if (faultcode == null) {
             return null;
         }

@@ -353,10 +382,11 @@
         return convertCodeToQName(
             faultcode,
             (SOAPElement) valueElements.next());
     }
 
+    @Override
     public Name getFaultCodeAsName() {
         String faultcode = getFaultCode();
         if (faultcode == null) {
             return null;
         }

@@ -368,31 +398,35 @@
             convertCodeToQName(
                 faultcode,
                 (SOAPElement) valueElements.next()));
     }
 
+    @Override
     public String getFaultString() {
         String reason = null;
         try {
             //reason = getFaultReasonText(Locale.getDefault());
             //if (reason == null)
             reason = (String) getFaultReasonTexts().next();
         } catch (SOAPException e) {}
         return reason;
     }
 
+    @Override
     public void setFaultString(String faultString) throws SOAPException {
         addFaultReasonText(faultString, Locale.getDefault());
     }
 
+    @Override
     public void setFaultString(
         String faultString,
         Locale locale)
         throws SOAPException {
         addFaultReasonText(faultString, locale);
     }
 
+    @Override
     public void appendFaultSubcode(QName subcode) throws SOAPException {
         if (subcode == null) {
             return;
         }
         if (subcode.getNamespaceURI() == null ||

@@ -424,10 +458,11 @@
             prefix,
             subcode.getNamespaceURI());
         subcodeValueElement.addTextNode(prefix + ":" + subcode.getLocalPart());
     }
 
+    @Override
     public void removeAllFaultSubcodes() {
         if (this.faultCodeElement == null)
             findFaultCodeElement();
         Iterator subcodeElements =
             this.faultCodeElement.getChildElements(subcodeName);

@@ -435,14 +470,15 @@
             SOAPElement subcode = (SOAPElement) subcodeElements.next();
             subcode.detachNode();
         }
     }
 
-    public Iterator getFaultSubcodes() {
+    @Override
+    public Iterator<QName> getFaultSubcodes() {
         if (this.faultCodeElement == null)
             findFaultCodeElement();
-        final List<QName> subcodeList = new ArrayList<QName>();
+        final List<QName> subcodeList = new ArrayList<>();
         SOAPElement currentCodeElement = this.faultCodeElement;
         Iterator subcodeElements =
             currentCodeElement.getChildElements(subcodeName);
         while (subcodeElements.hasNext()) {
             currentCodeElement = (ElementImpl) subcodeElements.next();

@@ -455,18 +491,21 @@
         }
         //return subcodeList.iterator();
         return new Iterator<QName>() {
             Iterator<QName> 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");
             }
         };

@@ -478,41 +517,46 @@
 
     /*
      * 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")
             && name.getURI().equals(NameImpl.SOAP12_NAMESPACE)) {
             setEncodingStyle(value);
         }
         return super.addAttribute(name, value);
     }
 
+    @Override
     public SOAPElement addAttribute(QName name, String value)
         throws SOAPException {
         if (name.getLocalPart().equals("encodingStyle")
             && name.getNamespaceURI().equals(NameImpl.SOAP12_NAMESPACE)) {
             setEncodingStyle(value);
         }
         return super.addAttribute(name, value);
     }
 
+    @Override
     public SOAPElement addTextNode(String text) throws SOAPException {
         log.log(
             Level.SEVERE,
             "SAAJ0416.ver1_2.adding.text.not.legal",
             getElementQName());
         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();
         if ("Detail".equalsIgnoreCase(localName)) {
             if (hasDetail()) {

@@ -531,10 +575,11 @@
             return convertToSoapElement(importedElement);
         } else
             return super.addChildElement(element);
     }
 
+    @Override
     protected boolean isStandardFaultElement(String localName) {
         if (localName.equalsIgnoreCase("code") ||
             localName.equalsIgnoreCase("reason") ||
             localName.equalsIgnoreCase("node") ||
             localName.equalsIgnoreCase("role") ||

@@ -542,26 +587,30 @@
             return true;
         }
         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);
     }
 
 }
< prev index next >