⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 obtainingregistryentry.java

📁 java web services how to program
💻 JAVA
字号:
// Fig. 10.10: ObtainRegistryEntry.java
// Query XML registry for organizations matching "Deitel" or
// "Associates" in their names and classified as 
// "Educational Support Services" in the NAICS taxonomy.

package com.deitel.jws1.jaxr;

// JAXR core packages
import javax.xml.registry.*;
import javax.xml.registry.infomodel.*;

// java core packages
import java.util.*;

public class ObtainRegistryEntry {

   // capability interface for querying XML registry
   private BusinessQueryManager queryManager;

   // capability interface for adding, updating, removing entries
   private BusinessLifeCycleManager lifeCycleManager;
   
   // constructor
   public ObtainRegistryEntry() throws Exception
   {
      // create XMLRegistry manager instance
      XMLRegistryManager registryManager =
         new XMLRegistryManager();

      // obtain business query 
      queryManager =
         registryManager.getBusinessQueryManager();
      
      // obtain business life cycle manager reference
      lifeCycleManager =
         registryManager.getBusinessLifeCycleManager();
      
   } // end constructor 

   // queries registry with provided string
   public BulkResponse getOrganizations() throws JAXRException
   {
      // define qualifiers
      Collection qualifierList = new ArrayList();
       
      // matches sorted in ascending order
      qualifierList.add( FindQualifier.SORT_BY_NAME_ASC );
      
      // matches all companies containing Deitel
      String pattern1 = "%Deitel%";
      
      // matches all companies containing Associates
      String pattern2 = "%Associates%";
            
      // matches organizations that include words
      // "Deitel" or "Associates" in their name
      Collection namePatternList = new ArrayList();
      namePatternList.add( pattern1 );
      namePatternList.add( pattern2 );

      // classification for education services
      ClassificationScheme classificationScheme =
         queryManager.findClassificationSchemeByName(
            null, "ntis-gov:naics" );
      
      // create classification
      Classification classification = 
         lifeCycleManager.createClassification(
            classificationScheme,
            "Educational Support Services",
            "61171" );
      
      Collection classificationList = new ArrayList();
      classificationList.add( classification );
      
      // obtain matching organizations
      BulkResponse toReturn = 
         queryManager.findOrganizations( 
            qualifierList, namePatternList,
            classificationList, null, null, null );
      
      return toReturn;

   } // end method getOrganizations
   
   // displays Organization information
   public static void displayOrganization( 
      Organization organization ) throws JAXRException
   {
      // display organization name and identifying key
      InternationalString name = organization.getName();
      Key organizationKey = organization.getKey();
      
      System.out.println( "\nOrganization name:  " + 
         name.getValue() );
      
      System.out.println( "Organization key: " + 
         organizationKey.getId() );
      
      // get organization services
      Collection serviceCollection =
         organization.getServices();
      
      Iterator services = serviceCollection.iterator();
      
      // display services information
      while ( services.hasNext() ) {
         
         Service service = ( Service )services.next();
         
         // display Service information
         displayService( service );
      }
      
   } // end method displayOrganization

   // displays Service information
   private static void displayService( Service service ) 
      throws JAXRException
   {
      // display service name and description
      InternationalString name = service.getName();
      InternationalString description = 
         service.getDescription();
      
      System.out.println( "Service: " + name.getValue() );
      System.out.println( "Service description: " + 
         description.getValue() );
      
      // get service bindings
      Collection serviceBindingsCollection =
         service.getServiceBindings();
      
      Iterator serviceBindings =
         serviceBindingsCollection.iterator();
      
      // display Servicebindings information
      while ( serviceBindings.hasNext() ) {
         
         ServiceBinding serviceBinding =
            ( ServiceBinding ) serviceBindings.next();
         
         // display ServiceBinding information
         displayServiceBinding( serviceBinding );
      }
      
   } // end method displayService

   // display ServiceBinding information
   private static void displayServiceBinding( 
      ServiceBinding serviceBinding ) throws JAXRException
   {
      // display access URI
      System.out.println( "Access URI: " +
         serviceBinding.getAccessURI() );

      // get specification links
      Collection specificationLinkCollection =
         serviceBinding.getSpecificationLinks();
      
      Iterator specificationLinks =
         specificationLinkCollection.iterator();
      
      // display SpecificationLinks information
      while ( specificationLinks.hasNext() ) {
         
         SpecificationLink wsdlLink =
            ( SpecificationLink )specificationLinks.next();
         
         // display SpecificationLink information
         displaySpecificationLink( wsdlLink );
      }
      
   } // end method displayServiceBinding

   // display SpecificationLink information
   private static void displaySpecificationLink( 
      SpecificationLink specificationLink ) throws JAXRException
   {
      // obtain external links
      Collection externalLinksCollection =
         specificationLink.getExternalLinks();
      
      Iterator externalLinks =
         externalLinksCollection.iterator();
      
      // display ExternalLinks information
      while ( externalLinks.hasNext() ) {
         
         ExternalLink externalLink =
            ( ExternalLink )externalLinks.next();
         
         System.out.println( "External URI: " +
            externalLink.getExternalURI() );
      }
      
   } // end method displaySpecificationLink
      
   // entry point for class ServiceRegister
   public static void main( String[] args ) 
   {
      
      // query registry
      try {   
         
         ObtainRegistryEntry registryQuery = 
            new ObtainRegistryEntry();
         
         // get matching orgainizations
         BulkResponse bulkResponse =
            registryQuery.getOrganizations();
         
         // ensure no exceptions occurred
         Collection exceptionCollection =
            bulkResponse.getExceptions();
         
         // exceptions during submission
         if ( exceptionCollection != null ) {
            
            // get iterator of exceptions
            Iterator exceptions =
               exceptionCollection.iterator();
            
            // display exceptions
            while ( exceptions.hasNext() ) {

               JAXRException exception =
                  ( JAXRException )exceptions.next();
               
               exception.printStackTrace();
            }
            
         } // end if

         // no exceptions during submission
         else {
            
            // obtain submission keys
            Collection organizationCollection =
               bulkResponse.getCollection();
            
            // ensure organization found
            if ( organizationCollection == null ) {
               System.out.println(
                  "No matching organization found!" );
               
               return;               
            }
            
            // obtain organizations
            Iterator organizations = 
               organizationCollection.iterator();
          
            while ( organizations.hasNext() ) {
            
               Organization organization = 
                  ( Organization )organizations.next();
               
               // display Organization information
               displayOrganization( organization );
            }
            
         } // end else
         
      } // end try
      
      catch ( Exception exception ) {
         exception.printStackTrace();
      }
      
   } // end method main

} // end class ObtainRegistryEntry

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -