Package org.apache.juddi.datatype.response

Examples of org.apache.juddi.datatype.response.PublisherList


    AbstractHandler handler = maker.lookup(PublisherListHandler.TAG_NAME);

    Element parent = XMLUtils.newRootElement();
    Element child = null;

    PublisherList list = new PublisherList();
    list.setGeneric("1.0");
    list.setOperator("jUDDI.org");
    list.setTruncated(false);
    list.addPublisherInfo(new PublisherInfo("sviens","Steve Viens"));
    list.addPublisherInfo(new PublisherInfo("jdoe","John Doe"));

    System.out.println();

    RegistryObject regObject = list;
    handler.marshal(regObject,parent);
View Full Code Here


    // make sure we need to continue with this request. If
    // no arguments were passed in then we'll simply return
    // an empty PublisherList (aka "a zero match result set").
    if ((name == null) || (name.length() == 0))
    {
      PublisherList list = new PublisherList();
      list.setGeneric(generic);
      list.setPublisherInfos(new PublisherInfos());
      list.setOperator(Config.getOperator());
      list.setTruncated(false);
      return list;
    }

    // aquire a jUDDI datastore instance
    DataStore dataStore = DataStoreFactory.getDataStore();

    try
    {
      dataStore.beginTrans();

      // validate the 'name' parameters as much as possible up-front before
      // calling into the data layer for relational validation.
      if (name != null)
      {
        // names can not exceed the maximum character length specified by the
        // UDDI specification (v2.0 specifies a max character length of 255). This
        // value is configurable in jUDDI.
        int maxNameLength = Config.getMaxNameLengthAllowed();
        if (name.length() > maxNameLength)
          throw new NameTooLongException("Name: '"+name+"' (max="+maxNameLength+")");
      }

      // validate the 'qualifiers' parameter as much as possible up-front before
      // calling into the data layer for relational validation.
      if (qualifiers != null)
      {
        Vector qVector = qualifiers.getFindQualifierVector();
        if ((qVector!=null) && (qVector.size() > 0))
        {
          for (int i=0; i<qVector.size(); i++)
          {
            FindQualifier qualifier = (FindQualifier)qVector.elementAt(i);
            String qValue = qualifier.getValue();

            if ((!qValue.equals(FindQualifier.EXACT_NAME_MATCH)) &&
                (!qValue.equals(FindQualifier.CASE_SENSITIVE_MATCH)) &&
                (!qValue.equals(FindQualifier.OR_ALL_KEYS)) &&
                (!qValue.equals(FindQualifier.OR_LIKE_KEYS)) &&
                (!qValue.equals(FindQualifier.AND_ALL_KEYS)) &&
                (!qValue.equals(FindQualifier.SORT_BY_NAME_ASC)) &&
                (!qValue.equals(FindQualifier.SORT_BY_NAME_DESC)) &&
                (!qValue.equals(FindQualifier.SORT_BY_DATE_ASC)) &&
                (!qValue.equals(FindQualifier.SORT_BY_DATE_DESC)) &&
                (!qValue.equals(FindQualifier.SERVICE_SUBSET)) &&
                (!qValue.equals(FindQualifier.COMBINE_CATEGORY_BAGS)))
              throw new UnsupportedException("FindQualifier: "+qValue);
          }
        }
      }

      Vector infoVector = null;
      boolean truncatedResults = false;

      // perform the search for matching technical models (return only keys in requested order)
      Vector idVector = dataStore.findPublisher(name,qualifiers);
      if ((idVector != null) && (idVector.size() > 0))
      {
        // if a maxRows value has been specified and it's less than
        // the number of rows we are about to return then only return
        // maxRows specified.
        int rowCount = idVector.size();
        if ((maxRows > 0) && (maxRows < rowCount))
        {
          rowCount = maxRows;
          truncatedResults = true;
        }

        // iterate through the publisher IDs fetching
        // each associated PublisherInfo in sequence.
        infoVector = new Vector(rowCount);
        for (int i=0; i<rowCount; i++)
          infoVector.addElement(dataStore.fetchPublisherInfo((String)idVector.elementAt(i)));
      }

      dataStore.commit();

      // create a new PublisherInfos instance and stuff
      // the new Vector of PublisherInfos into it.
      PublisherInfos infos = new PublisherInfos();
      infos.setPublisherInfoVector(infoVector);

      // create a new PublisherList instance and
      // stuff the new PublisherInfoVector into it.
      PublisherList list = new PublisherList();
      list.setGeneric(generic);
      list.setPublisherInfos(infos);
      list.setOperator(Config.getOperator());
      list.setTruncated(truncatedResults);
      return list;
    }
    catch(NameTooLongException ntlex)
    {
      try { dataStore.rollback(); } catch(Exception e) { }
View Full Code Here

    handler = ( PublisherListHandler)maker.lookup( PublisherListHandler.TAG_NAME);
  }

  private RegistryObject getRegistryObject()
  {
    PublisherList object = new PublisherList();
    object.setGeneric("1.0");
    object.setOperator("jUDDI.org");
    object.setTruncated(false);
    object.addPublisherInfo(new PublisherInfo("guest1","Guest1"));
    object.addPublisherInfo(new PublisherInfo("guest2","Guest2"));

    return object;

  }
View Full Code Here

    try
    {
      /**
       * Retrieve all publishers listed in the registry
       */
      PublisherList publisherList = registry.findPublisher("%","%",null,0);

      if (publisherList == null) {
        System.err.println("Unable to invoke 'find_publisher'");
        System.exit(-1);
      }
      PublisherInfos publisherInfos = publisherList.getPublisherInfos();
      if (publisherInfos == null) {
        System.err.println("Unable to retrieve 'PublisherInfos'");
        System.exit(-2);
      }
      Vector publisherInfoVector = publisherInfos.getPublisherInfoVector();
View Full Code Here

TOP

Related Classes of org.apache.juddi.datatype.response.PublisherList

Copyright © 2018 www.massapicom. 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.