a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: Query.java,v 1.2 2008/06/25 05:47:10 qcheng Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.liberty.ws.disco;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Iterator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.ArrayList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport org.w3c.dom.*;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.disco.common.DiscoConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.liberty.ws.disco.common.DiscoUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The class <code>Query</code> represents a discovery Query object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The following schema fragment specifies the expected content within the
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <code>Query</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <pre>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;xs:element name="Query" type="Query"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexType name="Query">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;group ref="{urn:liberty:disco:2003-08}ResourceIDGroup"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;element name="RequestedServiceType" maxOccurs="unbounded" minOccurs="0">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexType>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;element ref="{urn:liberty:disco:2003-08}ServiceType"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;element ref="{urn:liberty:disco:2003-08}Options" minOccurs="0"/>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/restriction>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexType>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/element>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/sequence>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/restriction>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexContent>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * &lt;/complexType>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * </pre>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @supported.all.api
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class Query {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String id = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private ResourceID resourceID = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private EncryptedResourceID encryptResID = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List requestedService = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param resourceID resource ID of the discovery resource to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param RequestedService List of <code>RequestService</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Query (ResourceID resourceID, java.util.List RequestedService) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.resourceID = resourceID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster requestedService = RequestedService;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param resourceID encrypted resource ID of the discovery resource
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param RequestedService List of <code>RequestService</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Query (EncryptedResourceID resourceID,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster java.util.List RequestedService)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster encryptResID = resourceID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster requestedService = RequestedService;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param root Query in DOM Element
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception DiscoveryException if error occurs
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Query (Element root) throws DiscoveryException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (root == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): null input.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("nullInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String nodeName;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String nameSpaceURI;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (((nodeName = root.getLocalName()) == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nodeName.equals("Query")) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster ((nameSpaceURI = root.getNamespaceURI()) == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nameSpaceURI.equals(DiscoConstants.DISCO_NS)))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): wrong input");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // attribute id
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster id = root.getAttribute("id");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // loop to get ResourceID or EncryptedResourceID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // 0 or more RequestedService
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster NodeList contentnl = root.getChildNodes();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Node child;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for (int i = 0, length = contentnl.getLength(); i < length; i++) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster child = contentnl.item(i);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((nodeName = child.getLocalName()) != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster nameSpaceURI = ((Element) child).getNamespaceURI();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((nameSpaceURI == null) ||
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster (!nameSpaceURI.equals(DiscoConstants.DISCO_NS)))
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "invalid namespace for node " + nodeName);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (nodeName.equals("ResourceID")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((resourceID != null) || (encryptResID != null)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): Included"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + " more than one ResourceIDGroup element.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreResourceIDGroup"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster resourceID = new ResourceID((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("EncryptedResourceID")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((resourceID != null) || (encryptResID != null)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): Included"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + " more than one ResourceIDGroup element.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("moreResourceIDGroup"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster encryptResID = new EncryptedResourceID((Element) child);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (nodeName.equals("RequestedServiceType")) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (requestedService == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster requestedService = new ArrayList();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster requestedService.add(new RequestedService((Element) child));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): invalid"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + " node" + nodeName);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("wrongInput"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } // if nodeName != null
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } // done for the nl loop
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // make sure there is a ResourceID or EncryptedResourceID
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((resourceID == null) && (encryptResID == null)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (DiscoUtils.debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.debug.message("Query(Element): missing ResourceID "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + "or EncryptedResourceID element.");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster throw new DiscoveryException(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster DiscoUtils.bundle.getString("missingResourceIDGroup"));
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setId(String)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public java.lang.String getId() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return id;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param id id attribute.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getId()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setId(String id) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.id = id;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the encrypted resource ID of the discovery resource to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the encrypted resource ID of the discovery resource to be
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setEncryptedResourceID(EncryptedResourceID)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public EncryptedResourceID getEncryptedResourceID() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return encryptResID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the encrypted resource ID of the discovery resource to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param value the encrypted resource ID.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getEncryptedResourceID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setEncryptedResourceID(EncryptedResourceID value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster encryptResID = value;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the resource ID of the discovery resource to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the resource ID of the discovery resource to be queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setResourceID(ResourceID)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public ResourceID getResourceID() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return resourceID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the resource ID of the discovery resource to be queried
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param resourceID the resource ID of the discovery resource to be
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * queried.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getResourceID()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setResourceID(ResourceID resourceID) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.resourceID = resourceID;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Gets the list of the requested service types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return the list of the requested service types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #setRequestedServiceType(List)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public java.util.List getRequestedServiceType() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return requestedService;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Sets the list of the requested service types.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param requestedService the list of the requested service types to be
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * set.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @see #getRequestedServiceType()
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setRequestedServiceType(List requestedService) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.requestedService = requestedService;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns formatted string of the <code>Query</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return formatted string of the <code>Query</code> object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public java.lang.String toString() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringBuffer sb = new StringBuffer(1000);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("<Query xmlns=\"").append(DiscoConstants.DISCO_NS).
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster append("\"");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((id != null) && id.length() != 0) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(" id=\"").append(id).append("\"");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(">");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (resourceID != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(resourceID.toString());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if (encryptResID != null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(encryptResID.toString());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((requestedService != null) && !requestedService.isEmpty()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator iter = requestedService.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while (iter.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append(((RequestedService) iter.next()).toString());
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append("</Query>");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return sb.toString();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster}