Package org.apache.juddi.uddi4j

Source Code of org.apache.juddi.uddi4j.TestFindBusiness

/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* 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 org.apache.juddi.uddi4j;

import java.util.Vector;

import org.uddi4j.UDDIException;
import org.uddi4j.datatype.Name;
import org.uddi4j.datatype.business.BusinessEntity;
import org.uddi4j.response.BusinessDetail;
import org.uddi4j.response.BusinessInfo;
import org.uddi4j.response.BusinessList;
import org.uddi4j.transport.TransportException;
import org.uddi4j.util.FindQualifier;
import org.uddi4j.util.FindQualifiers;

/**
* Sample code that exercises the find_business API.
* @author Andy Cutright (acutright@borland.com)
* @author Chrissie Hynde, for variable name inspirations
* <p> tests the following find qualifiers..
* </p>
* EM   CS
* 0     0  ee matches [eE][eE]* UPPER(NAME LIKE) text.toUpperCase  < default case
* 0     1  ee matches ee*       NAME LIKE
* 1     0  ee matches [eE][eE]  UPPER(NAME =) text.toUpperCase
* 1     1  ee matches ee        NAME =
*
*/

public class TestFindBusiness extends UDDITestBase
{
  public void testSortByNameDesc() {
    BusinessDetail busDetail = null;
    try {
      BusinessEntity bEntity = new BusinessEntity();
      bEntity.setDefaultName(new Name("ABC"));
      Vector busVector = new Vector();
      busVector.add(bEntity);

      bEntity = new BusinessEntity();
      bEntity.setDefaultName(new Name("CDE"));
      busVector.add(bEntity);

      bEntity = new BusinessEntity();
      bEntity.setDefaultName(new Name("EFG"));
      busVector.add(bEntity);

      busDetail = proxy.save_business(token.getAuthInfoString(), busVector);
      assertTrue(querySortByNameDesc());
    }
    catch (UDDIException ex) {
      fail(ex.toString());
    }
    catch (TransportException ex){
      fail(ex.toString());
    }
    finally {
      cleanupBusinessDetail(busDetail);
    }
  }

  protected boolean querySortByNameDesc() {
    try {
      Vector names = new Vector();
      names.add(new Name("ABC"));
      names.add(new Name("CDE"));
      names.add(new Name("EFG"));

      FindQualifiers findQualifiers = new FindQualifiers();
      Vector qualifier = new Vector();
      qualifier.add(new FindQualifier("sortByNameDesc"));
      findQualifiers.setFindQualifierVector(qualifier);

      BusinessList businessList = null;
      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      Vector victor = businessList.getBusinessInfos().getBusinessInfoVector();
      if (victor.size() !=3 ) {
        return false;
      }
      BusinessInfo info = (BusinessInfo)victor.elementAt(0);
      if (! ((BusinessInfo)victor.elementAt(0)).getDefaultNameString().equals("EFG")) {
        return false;
      }
      if (! ((BusinessInfo)victor.elementAt(1)).getDefaultNameString().equals("CDE")) {
        return false;
      }
      if (! ((BusinessInfo)victor.elementAt(2)).getDefaultNameString().equals("ABC")) {
        return false;
      }
    }
    catch (UDDIException ex) {
      return false;
    }
    catch (TransportException ex) {
      return false;
    }
    return true;
  }

  public void testExactMatch() {
    BusinessDetail busDetail = null;

    try {
      BusinessEntity bEntity = new BusinessEntity();
      Name name = new Name("BadBoysGetSpanked");
      bEntity.setDefaultName(name);
      Vector busVector = new Vector();
      busVector.add(bEntity);
      busDetail = proxy.save_business(token.getAuthInfoString(), busVector);

      assertTrue(queryExactMatch());
    }
    catch (UDDIException ex) {
      fail(ex.toString());
    }
    catch(TransportException ex) {
      fail(ex.toString());
    }
    finally {
      cleanupBusinessDetail(busDetail);
    }
  }

  protected boolean queryExactMatch() {

    try {
      Vector names = new Vector();
      names.add(new Name("BadBoys"));

      FindQualifiers findQualifiers = new FindQualifiers();
      Vector qualifier = new Vector();
      qualifier.add(new FindQualifier("exactNameMatch"));
      findQualifiers.setFindQualifierVector(qualifier);

      BusinessList businessList = null;

      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 0) {
        return false;
      }

      names.clear();
      names.add(new Name("BadBoysGetSpanked"));

      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 1) {
        return false;
      }

      /**
       * exact match, case insensitive
       */
      names.clear();
      names.add(new Name("badboysgetspanked"));

      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 1) {
        return false;
      }

      /**
       * exact match, case sensitive, negative
       */
      findQualifiers = new FindQualifiers();
      qualifier = new Vector();
      qualifier.add(new FindQualifier("exactNameMatch"));
      qualifier.add(new FindQualifier("caseSensitiveMatch"));
      findQualifiers.setFindQualifierVector(qualifier);

      names.clear();
      names.add(new Name("badboysgetspanked"));
      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 0) {
        return false;
      }

      /**
       * exact match, case sensitive, positive
       */
      names.clear();
      names.add(new Name("BadBoysGetSpanked"));
      businessList = proxy.find_business(names, null, null, null, null,
                                         findQualifiers, 5);

      if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 1) {
        return false;
      }

    }
    catch (UDDIException ex) {
      return false;
    }
    catch (TransportException ex) {
      return false;
    }
    return true;
  }

  public void testCaseSensitiveMatch() {
    BusinessDetail busDetail = null;
    try {
      // create the business CaseSensitive
      BusinessEntity bEntity = new BusinessEntity();
      Name name = new Name("casesensitive");
      bEntity.setDefaultName(name);
      Vector busVector = new Vector();
      busVector.add(bEntity);

      bEntity = new BusinessEntity();
      name = new Name("CaseSensitive");
      bEntity.setDefaultName(name);
      busVector.add(bEntity);
      busDetail = proxy.save_business(token.getAuthInfoString(),busVector);

      assertTrue(queryCaseSensitiveMatch());
    }
    catch (TransportException ex) {
      fail(ex.toString());
    }
    catch (UDDIException ex) {
      fail(ex.toString());
    }
    finally {
      cleanupBusinessDetail(busDetail);
    }
  }

  /**
   * tests
   * 0. default case (not sensitive and not exact)
   * 1. case sensitive, not exact
   */
  protected boolean queryCaseSensitiveMatch() throws TransportException, UDDIException {
    Vector names = new Vector();
    names.add(new Name("c"));

    FindQualifiers findQualifiers = new FindQualifiers();
    Vector qualifier = new Vector();
    qualifier.add(new FindQualifier("caseSensitiveMatch"));
    findQualifiers.setFindQualifierVector(qualifier);

    BusinessList businessList = proxy.find_business(names, null, null, null,null,findQualifiers,5);

    if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 1) {
      return false;
    }

    names.clear();
    names.add(new Name("C"));
    businessList = proxy.find_business(names, null, null, null,null,findQualifiers,5);

    if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 1) {
      return false;
    }
    businessList = proxy.find_business(names, null, null, null,null,null,5);

    if (businessList.getBusinessInfos().getBusinessInfoVector().size() != 2) {
      return false;
    }
    return true;
  }
}
TOP

Related Classes of org.apache.juddi.uddi4j.TestFindBusiness

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.