📄 obtainingregistryentry.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 + -