diff options
Diffstat (limited to 'STALService/src')
20 files changed, 747 insertions, 278 deletions
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java b/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java index 4db6a91c..df42ab47 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java @@ -1,28 +1,14 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ package at.gv.egiz.stal.service; import javax.xml.ws.WebFault; +import at.gv.egiz.stal.service.types.GetHashDataInputFaultType; + /** * This class was generated by the JAX-WS RI. * JAX-WS RI 2.1.3-b02- - * Generated source version: 2.1 + * Generated source version: 2.0 * */ @WebFault(name = "GetHashDataInputFault", targetNamespace = "http://www.egiz.gv.at/stal") @@ -60,7 +46,7 @@ public class GetHashDataInputFault /** * * @return - * returns fault bean: at.gv.egiz.stal.GetHashDataInputFaultType + * returns fault bean: at.gv.egiz.stal.service.types.GetHashDataInputFaultType */ public GetHashDataInputFaultType getFaultInfo() { return faultInfo; diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java b/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java index 8d1f9f9c..6ac6b10a 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java @@ -1,19 +1,3 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ package at.gv.egiz.stal.service; @@ -22,28 +6,42 @@ import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; -import javax.xml.bind.annotation.XmlSeeAlso; +import at.gv.egiz.stal.service.types.GetHashDataInputResponseType; +import at.gv.egiz.stal.service.types.GetHashDataInputType; +import at.gv.egiz.stal.service.types.GetNextRequestResponseType; +import at.gv.egiz.stal.service.types.GetNextRequestType; + /** * This class was generated by the JAX-WS RI. * JAX-WS RI 2.1.3-b02- - * Generated source version: 2.1 + * Generated source version: 2.0 * */ @WebService(name = "STALPortType", targetNamespace = "http://www.egiz.gv.at/wsdl/stal") @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) -@XmlSeeAlso({ - ObjectFactory.class -}) public interface STALPortType { /** + * Initial connection, get the first request. + * + * @param sessionId + * @return + * returns at.gv.egiz.stal.service.types.GetNextRequestResponseType + */ + @WebMethod + @WebResult(name = "GetNextRequestResponse", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1") + public GetNextRequestResponseType connect( + @WebParam(name = "SessionId", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1") + String sessionId); + + /** * Fetch the next request. * * @param request * @return - * returns at.gv.egiz.stal.GetNextRequestResponseType + * returns at.gv.egiz.stal.service.types.GetNextRequestResponseType */ @WebMethod(operationName = "nextRequest") @WebResult(name = "GetNextRequestResponse", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1") @@ -56,7 +54,7 @@ public interface STALPortType { * * @param request * @return - * returns at.gv.egiz.stal.GetHashDataInputResponseType + * returns at.gv.egiz.stal.service.types.GetHashDataInputResponseType * @throws GetHashDataInputFault */ @WebMethod diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java b/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java index 7023b02a..d4b58af9 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java @@ -1,36 +1,18 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ package at.gv.egiz.stal.service; -import java.net.MalformedURLException; import java.net.URL; import java.util.logging.Logger; import javax.xml.namespace.QName; import javax.xml.ws.Service; import javax.xml.ws.WebEndpoint; import javax.xml.ws.WebServiceClient; -import javax.xml.ws.WebServiceFeature; /** * This class was generated by the JAX-WS RI. * JAX-WS RI 2.1.3-b02- - * Generated source version: 2.1 + * Generated source version: 2.0 * */ @WebServiceClient(name = "STALService", targetNamespace = "http://www.egiz.gv.at/wsdl/stal") @@ -54,16 +36,4 @@ public class STALService return super.getPort(new QName("http://www.egiz.gv.at/wsdl/stal", "STALPort"), STALPortType.class); } - /** - * - * @param features - * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. - * @return - * returns STALPortType - */ - @WebEndpoint(name = "STALPort") - public STALPortType getSTALPort(WebServiceFeature... features) { - return super.getPort(new QName("http://www.egiz.gv.at/wsdl/stal", "STALPort"), STALPortType.class, features); - } - } diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/package-info.java b/STALService/src/main/java/at/gv/egiz/stal/service/package-info.java deleted file mode 100644 index eb3e29dd..00000000 --- a/STALService/src/main/java/at/gv/egiz/stal/service/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.egiz.gv.at/stal", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) -package at.gv.egiz.stal.service; diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java new file mode 100644 index 00000000..14ae0d39 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java @@ -0,0 +1,84 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for ErrorResponseType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="ErrorResponseType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}ResponseType"> + * <sequence> + * <element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}int"/> + * <element name="ErrorMessage" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ErrorResponseType", propOrder = { + "errorCode", + "errorMessage" +}) +public class ErrorResponseType + extends ResponseType +{ + + @XmlElement(name = "ErrorCode") + protected int errorCode; + @XmlElement(name = "ErrorMessage", required = true) + protected String errorMessage; + + /** + * Gets the value of the errorCode property. + * + */ + public int getErrorCode() { + return errorCode; + } + + /** + * Sets the value of the errorCode property. + * + */ + public void setErrorCode(int value) { + this.errorCode = value; + } + + /** + * Gets the value of the errorMessage property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getErrorMessage() { + return errorMessage; + } + + /** + * Sets the value of the errorMessage property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setErrorMessage(String value) { + this.errorMessage = value; + } + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFaultType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java index 5301a3bd..bf9f96ab 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFaultType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java @@ -1,21 +1,5 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package at.gv.egiz.stal.service; +package at.gv.egiz.stal.service.types; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java index f02d1ce6..7536d936 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputResponseType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java @@ -1,21 +1,5 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package at.gv.egiz.stal.service; + +package at.gv.egiz.stal.service.types; import java.util.ArrayList; import java.util.List; @@ -49,7 +33,7 @@ import javax.xml.bind.annotation.XmlValue; * </complexType> * </element> * </sequence> - * <attribute name="sessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> @@ -65,7 +49,7 @@ public class GetHashDataInputResponseType { @XmlElement(name = "Reference", required = true) protected List<GetHashDataInputResponseType.Reference> reference; - @XmlAttribute + @XmlAttribute(name = "SessionId") protected String sessionId; /** diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java index 970b0744..5309482a 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java @@ -1,21 +1,5 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package at.gv.egiz.stal.service; +package at.gv.egiz.stal.service.types; import java.util.ArrayList; import java.util.List; @@ -46,7 +30,7 @@ import javax.xml.bind.annotation.XmlType; * </complexType> * </element> * </sequence> - * <attribute name="sessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> @@ -62,7 +46,7 @@ public class GetHashDataInputType { @XmlElement(name = "Reference", required = true) protected List<GetHashDataInputType.Reference> reference; - @XmlAttribute + @XmlAttribute(name = "SessionId") protected String sessionId; /** diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetNextRequestResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java index 7a723431..6f8204cc 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetNextRequestResponseType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java @@ -1,29 +1,13 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package at.gv.egiz.stal.service; +package at.gv.egiz.stal.service.types; -import at.gv.egiz.stal.STALRequest; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; import javax.xml.bind.annotation.XmlType; @@ -36,10 +20,12 @@ import javax.xml.bind.annotation.XmlType; * <complexType name="GetNextRequestResponseType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> - * <element name="Request" type="{http://www.egiz.gv.at/stal}RequestType" maxOccurs="unbounded" minOccurs="0"/> - * </sequence> - * <attribute name="sessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <choice maxOccurs="unbounded"> + * <element name="InfoboxReadRequest" type="{http://www.egiz.gv.at/stal}InfoboxReadRequestType"/> + * <element name="SignRequest" type="{http://www.egiz.gv.at/stal}SignRequestType"/> + * <element name="QuitRequest" type="{http://www.egiz.gv.at/stal}QuitRequestType"/> + * </choice> + * <attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> @@ -49,42 +35,48 @@ import javax.xml.bind.annotation.XmlType; */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "GetNextRequestResponseType", propOrder = { - "request" + "infoboxReadRequestOrSignRequestOrQuitRequest" }) public class GetNextRequestResponseType { - @XmlElement(name = "Request") - protected List<STALRequest> request; - @XmlAttribute + @XmlElements({ + @XmlElement(name = "InfoboxReadRequest", type = InfoboxReadRequestType.class), + @XmlElement(name = "QuitRequest", type = QuitRequestType.class), + @XmlElement(name = "SignRequest", type = SignRequestType.class) + }) + protected List<RequestType> infoboxReadRequestOrSignRequestOrQuitRequest; + @XmlAttribute(name = "SessionId") protected String sessionId; /** - * Gets the value of the request property. + * Gets the value of the infoboxReadRequestOrSignRequestOrQuitRequest property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. - * This is why there is not a <CODE>set</CODE> method for the request property. + * This is why there is not a <CODE>set</CODE> method for the infoboxReadRequestOrSignRequestOrQuitRequest property. * * <p> * For example, to add a new item, do as follows: * <pre> - * getRequest().add(newItem); + * getInfoboxReadRequestOrSignRequestOrQuitRequest().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list - * {@link STALRequest } + * {@link InfoboxReadRequestType } + * {@link QuitRequestType } + * {@link SignRequestType } * * */ - public List<STALRequest> getRequest() { - if (request == null) { - request = new ArrayList<STALRequest>(); + public List<RequestType> getInfoboxReadRequestOrSignRequestOrQuitRequest() { + if (infoboxReadRequestOrSignRequestOrQuitRequest == null) { + infoboxReadRequestOrSignRequestOrQuitRequest = new ArrayList<RequestType>(); } - return this.request; + return this.infoboxReadRequestOrSignRequestOrQuitRequest; } /** diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetNextRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java index 410f1d8d..eab3d40b 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/GetNextRequestType.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java @@ -1,29 +1,13 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package at.gv.egiz.stal.service; +package at.gv.egiz.stal.service.types; -import at.gv.egiz.stal.STALResponse; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElements; import javax.xml.bind.annotation.XmlType; @@ -36,10 +20,12 @@ import javax.xml.bind.annotation.XmlType; * <complexType name="GetNextRequestType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> - * <element name="Response" type="{http://www.egiz.gv.at/stal}ResponseType" maxOccurs="unbounded" minOccurs="0"/> - * </sequence> - * <attribute name="sessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <choice maxOccurs="unbounded"> + * <element name="InfoboxReadResponse" type="{http://www.egiz.gv.at/stal}InfoboxReadResponseType"/> + * <element name="SignResponse" type="{http://www.egiz.gv.at/stal}SignResponseType"/> + * <element name="ErrorResponse" type="{http://www.egiz.gv.at/stal}ErrorResponseType"/> + * </choice> + * <attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> @@ -49,42 +35,48 @@ import javax.xml.bind.annotation.XmlType; */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "GetNextRequestType", propOrder = { - "response" + "infoboxReadResponseOrSignResponseOrErrorResponse" }) public class GetNextRequestType { - @XmlElement(name = "Response") - protected List<STALResponse> response; - @XmlAttribute + @XmlElements({ + @XmlElement(name = "SignResponse", type = SignResponseType.class), + @XmlElement(name = "InfoboxReadResponse", type = InfoboxReadResponseType.class), + @XmlElement(name = "ErrorResponse", type = ErrorResponseType.class) + }) + protected List<ResponseType> infoboxReadResponseOrSignResponseOrErrorResponse; + @XmlAttribute(name = "SessionId") protected String sessionId; /** - * Gets the value of the response property. + * Gets the value of the infoboxReadResponseOrSignResponseOrErrorResponse property. * * <p> * This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. - * This is why there is not a <CODE>set</CODE> method for the response property. + * This is why there is not a <CODE>set</CODE> method for the infoboxReadResponseOrSignResponseOrErrorResponse property. * * <p> * For example, to add a new item, do as follows: * <pre> - * getResponse().add(newItem); + * getInfoboxReadResponseOrSignResponseOrErrorResponse().add(newItem); * </pre> * * * <p> * Objects of the following type(s) are allowed in the list - * {@link STALResponse } + * {@link SignResponseType } + * {@link InfoboxReadResponseType } + * {@link ErrorResponseType } * * */ - public List<STALResponse> getResponse() { - if (response == null) { - response = new ArrayList<STALResponse>(); + public List<ResponseType> getInfoboxReadResponseOrSignResponseOrErrorResponse() { + if (infoboxReadResponseOrSignResponseOrErrorResponse == null) { + infoboxReadResponseOrSignResponseOrErrorResponse = new ArrayList<ResponseType>(); } - return this.response; + return this.infoboxReadResponseOrSignResponseOrErrorResponse; } /** diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java new file mode 100644 index 00000000..0ab6f5f3 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java @@ -0,0 +1,102 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for InfoboxReadRequestType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="InfoboxReadRequestType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}RequestType"> + * <sequence> + * <element name="InfoboxIdentifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="Certificates"/> + * <enumeration value="IdentityLink"/> + * <enumeration value="Mandates"/> + * </restriction> + * </simpleType> + * </element> + * <element name="DomainIdentifier" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "InfoboxReadRequestType", propOrder = { + "infoboxIdentifier", + "domainIdentifier" +}) +public class InfoboxReadRequestType + extends RequestType +{ + + @XmlElement(name = "InfoboxIdentifier", required = true) + protected String infoboxIdentifier; + @XmlElement(name = "DomainIdentifier") + @XmlSchemaType(name = "anyURI") + protected String domainIdentifier; + + /** + * Gets the value of the infoboxIdentifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getInfoboxIdentifier() { + return infoboxIdentifier; + } + + /** + * Sets the value of the infoboxIdentifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setInfoboxIdentifier(String value) { + this.infoboxIdentifier = value; + } + + /** + * Gets the value of the domainIdentifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDomainIdentifier() { + return domainIdentifier; + } + + /** + * Sets the value of the domainIdentifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDomainIdentifier(String value) { + this.domainIdentifier = value; + } + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java new file mode 100644 index 00000000..1d88737d --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java @@ -0,0 +1,62 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for InfoboxReadResponseType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="InfoboxReadResponseType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}ResponseType"> + * <sequence> + * <element name="InfoboxValue" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "InfoboxReadResponseType", propOrder = { + "infoboxValue" +}) +public class InfoboxReadResponseType + extends ResponseType +{ + + @XmlElement(name = "InfoboxValue", required = true) + protected byte[] infoboxValue; + + /** + * Gets the value of the infoboxValue property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getInfoboxValue() { + return infoboxValue; + } + + /** + * Sets the value of the infoboxValue property. + * + * @param value + * allowed object is + * byte[] + */ + public void setInfoboxValue(byte[] value) { + this.infoboxValue = ((byte[]) value); + } + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/ObjectFactory.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java index 11ad1101..d485f1e1 100644 --- a/STALService/src/main/java/at/gv/egiz/stal/service/ObjectFactory.java +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java @@ -1,29 +1,6 @@ -/* -* Copyright 2008 Federal Chancellery Austria and -* Graz University of Technology -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -package at.gv.egiz.stal.service; - - -import at.gv.egiz.stal.ErrorResponse; -import at.gv.egiz.stal.InfoboxReadRequest; -import at.gv.egiz.stal.InfoboxReadResponse; -import at.gv.egiz.stal.QuitRequest; -import at.gv.egiz.stal.SignRequest; -import at.gv.egiz.stal.SignResponse; + +package at.gv.egiz.stal.service.types; + import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlElementDecl; import javax.xml.bind.annotation.XmlRegistry; @@ -33,7 +10,7 @@ import javax.xml.namespace.QName; /** * This object contains factory methods for each * Java content interface and Java element interface - * generated in the at.gv.egiz.stal package. + * generated in the at.gv.egiz.stal.service.types package. * <p>An ObjectFactory allows you to programatically * construct new instances of the Java representation * for XML content. The Java representation of XML @@ -52,9 +29,10 @@ public class ObjectFactory { private final static QName _GetNextRequestResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "GetNextRequestResponse"); private final static QName _GetHashDataInputResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "GetHashDataInputResponse"); private final static QName _GetNextRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "GetNextRequest"); + private final static QName _SessionId_QNAME = new QName("http://www.egiz.gv.at/stal", "SessionId"); /** - * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.stal + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.stal.service.types * */ public ObjectFactory() { @@ -69,99 +47,99 @@ public class ObjectFactory { } /** - * Create an instance of {@link SignRequest } + * Create an instance of {@link InfoboxReadRequestType } * */ - public SignRequest createSignRequest() { - return new SignRequest(); + public InfoboxReadRequestType createInfoboxReadRequestType() { + return new InfoboxReadRequestType(); } /** - * Create an instance of {@link GetHashDataInputResponseType } + * Create an instance of {@link GetHashDataInputResponseType.Reference } * */ - public GetHashDataInputResponseType createGetHashDataInputResponseType() { - return new GetHashDataInputResponseType(); + public GetHashDataInputResponseType.Reference createGetHashDataInputResponseTypeReference() { + return new GetHashDataInputResponseType.Reference(); } /** - * Create an instance of {@link InfoboxReadResponse } + * Create an instance of {@link ErrorResponseType } * */ - public InfoboxReadResponse createInfoboxReadResponse() { - return new InfoboxReadResponse(); + public ErrorResponseType createErrorResponseType() { + return new ErrorResponseType(); } /** - * Create an instance of {@link ErrorResponse } + * Create an instance of {@link GetHashDataInputType } * */ - public ErrorResponse createErrorResponse() { - return new ErrorResponse(); + public GetHashDataInputType createGetHashDataInputType() { + return new GetHashDataInputType(); } /** - * Create an instance of {@link GetHashDataInputFaultType } + * Create an instance of {@link SignRequestType } * */ - public GetHashDataInputFaultType createGetHashDataInputFaultType() { - return new GetHashDataInputFaultType(); + public SignRequestType createSignRequestType() { + return new SignRequestType(); } /** - * Create an instance of {@link GetHashDataInputType.Reference } + * Create an instance of {@link GetHashDataInputFaultType } * */ - public GetHashDataInputType.Reference createGetHashDataInputTypeReference() { - return new GetHashDataInputType.Reference(); + public GetHashDataInputFaultType createGetHashDataInputFaultType() { + return new GetHashDataInputFaultType(); } /** - * Create an instance of {@link InfoboxReadRequest } + * Create an instance of {@link SignResponseType } * */ - public InfoboxReadRequest createInfoboxReadRequest() { - return new InfoboxReadRequest(); + public SignResponseType createSignResponseType() { + return new SignResponseType(); } /** - * Create an instance of {@link SignResponse } + * Create an instance of {@link GetHashDataInputType.Reference } * */ - public SignResponse createSignResponse() { - return new SignResponse(); + public GetHashDataInputType.Reference createGetHashDataInputTypeReference() { + return new GetHashDataInputType.Reference(); } /** - * Create an instance of {@link GetNextRequestResponseType } + * Create an instance of {@link GetHashDataInputResponseType } * */ - public GetNextRequestResponseType createGetNextRequestResponseType() { - return new GetNextRequestResponseType(); + public GetHashDataInputResponseType createGetHashDataInputResponseType() { + return new GetHashDataInputResponseType(); } /** - * Create an instance of {@link GetHashDataInputType } + * Create an instance of {@link InfoboxReadResponseType } * */ - public GetHashDataInputType createGetHashDataInputType() { - return new GetHashDataInputType(); + public InfoboxReadResponseType createInfoboxReadResponseType() { + return new InfoboxReadResponseType(); } /** - * Create an instance of {@link QuitRequest } + * Create an instance of {@link QuitRequestType } * */ - public QuitRequest createQuitRequest() { - return new QuitRequest(); + public QuitRequestType createQuitRequestType() { + return new QuitRequestType(); } /** - * Create an instance of {@link GetHashDataInputResponseType.Reference } + * Create an instance of {@link GetNextRequestResponseType } * */ - public GetHashDataInputResponseType.Reference createGetHashDataInputResponseTypeReference() { - return new GetHashDataInputResponseType.Reference(); + public GetNextRequestResponseType createGetNextRequestResponseType() { + return new GetNextRequestResponseType(); } /** @@ -209,4 +187,13 @@ public class ObjectFactory { return new JAXBElement<GetNextRequestType>(_GetNextRequest_QNAME, GetNextRequestType.class, null, value); } + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "SessionId") + public JAXBElement<String> createSessionId(String value) { + return new JAXBElement<String>(_SessionId_QNAME, String.class, null, value); + } + } diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java new file mode 100644 index 00000000..7dc4197f --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java @@ -0,0 +1,32 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for QuitRequestType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="QuitRequestType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}RequestType"> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QuitRequestType") +public class QuitRequestType + extends RequestType +{ + + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java new file mode 100644 index 00000000..32b7894f --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java @@ -0,0 +1,30 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for RequestType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="RequestType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RequestType") +public abstract class RequestType { + + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java new file mode 100644 index 00000000..c94bcbe8 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java @@ -0,0 +1,30 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for ResponseType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="ResponseType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ResponseType") +public abstract class ResponseType { + + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java new file mode 100644 index 00000000..09e30967 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java @@ -0,0 +1,97 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for SignRequestType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="SignRequestType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}RequestType"> + * <sequence> + * <element name="KeyIdentifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="SecureSignatureKeypair"/> + * <enumeration value="CertifiedKeypair"/> + * </restriction> + * </simpleType> + * </element> + * <element name="SignedInfo" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignRequestType", propOrder = { + "keyIdentifier", + "signedInfo" +}) +public class SignRequestType + extends RequestType +{ + + @XmlElement(name = "KeyIdentifier", required = true) + protected String keyIdentifier; + @XmlElement(name = "SignedInfo", required = true) + protected byte[] signedInfo; + + /** + * Gets the value of the keyIdentifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getKeyIdentifier() { + return keyIdentifier; + } + + /** + * Sets the value of the keyIdentifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setKeyIdentifier(String value) { + this.keyIdentifier = value; + } + + /** + * Gets the value of the signedInfo property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getSignedInfo() { + return signedInfo; + } + + /** + * Sets the value of the signedInfo property. + * + * @param value + * allowed object is + * byte[] + */ + public void setSignedInfo(byte[] value) { + this.signedInfo = ((byte[]) value); + } + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java new file mode 100644 index 00000000..a33fb34c --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java @@ -0,0 +1,62 @@ + +package at.gv.egiz.stal.service.types; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for SignResponseType complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="SignResponseType"> + * <complexContent> + * <extension base="{http://www.egiz.gv.at/stal}ResponseType"> + * <sequence> + * <element name="SignatureValue" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SignResponseType", propOrder = { + "signatureValue" +}) +public class SignResponseType + extends ResponseType +{ + + @XmlElement(name = "SignatureValue", required = true) + protected byte[] signatureValue; + + /** + * Gets the value of the signatureValue property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getSignatureValue() { + return signatureValue; + } + + /** + * Sets the value of the signatureValue property. + * + * @param value + * allowed object is + * byte[] + */ + public void setSignatureValue(byte[] value) { + this.signatureValue = ((byte[]) value); + } + +} diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java new file mode 100644 index 00000000..3328fdc0 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java @@ -0,0 +1,2 @@ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.egiz.gv.at/stal", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +package at.gv.egiz.stal.service.types; diff --git a/STALService/src/main/java/at/gv/egiz/stal/util/STALTranslator.java b/STALService/src/main/java/at/gv/egiz/stal/util/STALTranslator.java new file mode 100644 index 00000000..b8681084 --- /dev/null +++ b/STALService/src/main/java/at/gv/egiz/stal/util/STALTranslator.java @@ -0,0 +1,109 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package at.gv.egiz.stal.util; + +import at.gv.egiz.stal.ErrorResponse; +import at.gv.egiz.stal.InfoboxReadRequest; +import at.gv.egiz.stal.InfoboxReadResponse; +import at.gv.egiz.stal.QuitRequest; +import at.gv.egiz.stal.STALRequest; +import at.gv.egiz.stal.STALResponse; +import at.gv.egiz.stal.SignRequest; +import at.gv.egiz.stal.SignResponse; +import at.gv.egiz.stal.service.types.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * + * @author clemens + */ +public class STALTranslator { + + protected static final Log log = LogFactory.getLog(STALTranslator.class); + + public static List<STALRequest> translateRequests(List<RequestType> requests) { + List<STALRequest> stalRequests = new ArrayList<STALRequest>(requests.size()); + for (RequestType request : requests) { + if (request instanceof InfoboxReadRequestType) { + InfoboxReadRequest stalReq = new InfoboxReadRequest(); + stalReq.setDomainIdentifier(((InfoboxReadRequestType) request).getDomainIdentifier()); + stalReq.setInfoboxIdentifier(((InfoboxReadRequestType) request).getInfoboxIdentifier()); + stalRequests.add(stalReq); + } else if (request instanceof SignRequestType) { + SignRequest stalReq = new SignRequest(); + stalReq.setKeyIdentifier(((SignRequestType) request).getKeyIdentifier()); + stalReq.setSignedInfo(((SignRequestType) request).getSignedInfo()); + stalRequests.add(stalReq); + } else if (request instanceof QuitRequestType) { + stalRequests.add(new QuitRequest()); + } else { + log.error("unknown STALService request type: " + request.getClass()); + stalRequests = Collections.singletonList((STALRequest) new QuitRequest()); + break; + } + } + return stalRequests; + } + + public static List<ResponseType> fromSTAL(List<STALResponse> stalResponses) { + List<ResponseType> responses = new ArrayList<ResponseType>(stalResponses.size()); + for (STALResponse stalResp : stalResponses) { + if (stalResp instanceof InfoboxReadResponse) { + InfoboxReadResponseType resp = new InfoboxReadResponseType(); + resp.setInfoboxValue(((InfoboxReadResponse) stalResp).getInfoboxValue()); + responses.add(resp); + } else if (stalResp instanceof SignResponse) { + SignResponseType resp = new SignResponseType(); + resp.setSignatureValue(((SignResponse) stalResp).getSignatureValue()); + responses.add(resp); + } else if (stalResp instanceof ErrorResponse) { + ErrorResponseType resp = new ErrorResponseType(); + resp.setErrorCode(((ErrorResponse) stalResp).getErrorCode()); + resp.setErrorMessage(((ErrorResponse) stalResp).getErrorMessage()); + responses.add(resp); + } else { + log.error("unknown STAL response type: " + stalResp.getClass()); + ErrorResponseType resp = new ErrorResponseType(); + resp.setErrorCode(4000); + resp.setErrorMessage("unknown STAL response type: " + stalResp.getClass()); + responses = Collections.singletonList((ResponseType) resp); + break; + } + } + return responses; + } + + public static List<STALResponse> toSTAL(List<ResponseType> responses) { + List<STALResponse> stalResponses = new ArrayList<STALResponse>(responses.size()); + for (ResponseType resp : responses) { + if (resp instanceof InfoboxReadResponseType) { + InfoboxReadResponse stalResp = new InfoboxReadResponse(); + stalResp.setInfoboxValue(((InfoboxReadResponseType) resp).getInfoboxValue()); + stalResponses.add(stalResp); + } else if (resp instanceof SignResponseType) { + SignResponse stalResp = new SignResponse(); + stalResp.setSignatureValue(((SignResponseType) resp).getSignatureValue()); + stalResponses.add(stalResp); + } else if (resp instanceof ErrorResponseType) { + ErrorResponse stalResp = new ErrorResponse(); + stalResp.setErrorCode(((ErrorResponseType) resp).getErrorCode()); + stalResp.setErrorMessage(((ErrorResponseType) resp).getErrorMessage()); + stalResponses.add(stalResp); + } else { + log.error("unknown STALService response type: " + resp.getClass()); + ErrorResponse stalResp = new ErrorResponse(); + stalResp.setErrorCode(4000); + stalResp.setErrorMessage("unknown STALService response type: " + resp.getClass()); + stalResponses = Collections.singletonList((STALResponse) stalResp); + break; + } + } + return stalResponses; + } +} |