Java XML Registry: Recherche d’un registre des informations sur les organisations dont les noms contiennent une chaîne de caractère fournie par l’utilisateur*

Author:

Java XML Registry: Recherche d'un registre des informations sur les organisations dont les noms contiennent une chaîne de caractère fournie par l'utilisateur*
Download

/***** Code de MesExemples.com *******/
 /* * Copyright 2007 Sun Microsystems, Inc. * All rights reserved.  You may not modify, use, * reproduce, or distribute this software except in * compliance with  the terms of the License at: * http://developer.sun.com/berkeley_license.html *//*Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.* Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility. */import javax.xml.registry.Connection;import javax.xml.registry.ConnectionFactory;import javax.xml.registry.RegistryService;import javax.xml.registry.BusinessQueryManager;import javax.xml.registry.BulkResponse;import javax.xml.registry.JAXRException;import static javax.xml.registry.FindQualifier.SORT_BY_NAME_DESC;import javax.xml.registry.infomodel.RegistryObject;import javax.xml.registry.infomodel.Organization;import javax.xml.registry.infomodel.User;import javax.xml.registry.infomodel.PersonName;import javax.xml.registry.infomodel.TelephoneNumber;import javax.xml.registry.infomodel.EmailAddress;import javax.xml.registry.infomodel.Service;import javax.xml.registry.infomodel.ServiceBinding;import javax.xml.registry.infomodel.ClassificationScheme;import javax.xml.registry.infomodel.Classification;import java.util.ResourceBundle;import java.util.Properties;import java.util.Collection;import java.util.ArrayList;/** * The JAXRQuery class consists of a main method, a * makeConnection method, an executeQuery method, and some * private helper methods. It searches a registry for * information about organizations whose names contain a * user-supplied string. */public class JAXRQuery {    Connection connection = null;    public JAXRQuery() {    }    public static void main(String[] args) {        ResourceBundle registryBundle = ResourceBundle.getBundle(                    "JAXRExamples");        String queryURL = registryBundle.getString("query.url");        String publishURL = registryBundle.getString("publish.url");        if (args.length < 1) {            System.out.println(                    "Argument required: " + "-Dquery-string=<value>");            System.exit(1);        }        String queryString = args[0];        System.out.println("Query string is " + queryString);        JAXRQuery jq = new JAXRQuery();        jq.makeConnection(queryURL, publishURL);        jq.executeQuery(queryString);    }    /**     * Establishes a connection to a registry.     *     * @param queryUrl        the URL of the query registry     * @param publishUrl        the URL of the publish registry     */    public void makeConnection(        String queryUrl,        String publishUrl) {        /*         * Specify proxy information in case you         *  are going beyond your firewall.         */        ResourceBundle registryBundle = ResourceBundle.getBundle(                    "JAXRExamples");        String httpProxyHost = registryBundle.getString("http.proxyHost");        String httpProxyPort = registryBundle.getString("http.proxyPort");        /*         * Define connection configuration properties.         * For simple queries, you need the query URL.         */        Properties props = new Properties();        props.setProperty("javax.xml.registry.queryManagerURL", queryUrl);        props.setProperty("com.sun.xml.registry.http.proxyHost", httpProxyHost);        props.setProperty("com.sun.xml.registry.http.proxyPort", httpProxyPort);        try {            // Create the connection, passing it the             // configuration properties            ConnectionFactory factory = ConnectionFactory.newInstance();            factory.setProperties(props);            connection = factory.createConnection();            System.out.println("Created connection to registry");        } catch (Exception e) {            e.printStackTrace();            if (connection != null) {                try {                    connection.close();                } catch (JAXRException je) {                }            }        }    }    /**     * Searches for organizations containing a string and     * displays data about them.     *     * @param qString        the string argument     */    public void executeQuery(String qString) {        RegistryService rs = null;        BusinessQueryManager bqm = null;        try {            // Get registry service and query manager            rs = connection.getRegistryService();            bqm = rs.getBusinessQueryManager();            System.out.println("Got registry service and query manager");            // Define find qualifiers and name patterns            Collection<String> findQualifiers = new ArrayList<String>();            findQualifiers.add(SORT_BY_NAME_DESC);            Collection<String> namePatterns = new ArrayList<String>();            namePatterns.add("%" + qString + "%");            // Find orgs with names that contain qString            BulkResponse response = bqm.findOrganizations(                        findQualifiers,                        namePatterns,                        null,                        null,                        null,                        null);            Collection orgs = response.getCollection();            // Display information about the organizations found            int numOrgs = 0;            if (orgs.isEmpty()) {                System.out.println("No organizations found");            } else {                for (Object o : orgs) {                    numOrgs++;                    Organization org = (Organization) o;                    System.out.println("Org name: " + getName(org));                    System.out.println(                            "Org description: " + getDescription(org));                    System.out.println("Org key id: " + getKey(org));                    // Display primary contact information                    User pc = org.getPrimaryContact();                    if (pc != null) {                        PersonName pcName = pc.getPersonName();                        System.out.println(                                " Contact name: " + pcName.getFullName());                        Collection phNums = pc.getTelephoneNumbers(null);                        for (Object n : phNums) {                            TelephoneNumber num = (TelephoneNumber) n;                            System.out.println(                                    "  Phone number: " + num.getNumber());                        }                        Collection eAddrs = pc.getEmailAddresses();                        for (Object a : eAddrs) {                            EmailAddress eAd = (EmailAddress) a;                            System.out.println(                                    "  Email address: " + eAd.getAddress());                        }                    }                    // Display service and binding information                    Collection services = org.getServices();                    for (Object s : services) {                        Service svc = (Service) s;                        System.out.println(" Service name: " + getName(svc));                        System.out.println(                                " Service description: " + getDescription(svc));                        Collection serviceBindings = svc.getServiceBindings();                        for (Object b : serviceBindings) {                            ServiceBinding sb = (ServiceBinding) b;                            System.out.println(                                    "  Binding description: "                                    + getDescription(sb));                            System.out.println(                                    "  Access URI: " + sb.getAccessURI());                        }                    }                    // Print spacer between organizations                    System.out.println(" --- ");                }            }            System.out.println("Found " + numOrgs + " organization(s)");        } catch (Exception e) {            e.printStackTrace();        } finally {            // At end, close connection to registry            if (connection != null) {                try {                    connection.close();                } catch (JAXRException je) {                }            }        }    }    /**     * Returns the name value for a registry object.     *     * @param ro        a RegistryObject     * @return                the String value     */    private String getName(RegistryObject ro) throws JAXRException {        try {            return ro.getName()                     .getValue();        } catch (NullPointerException npe) {            return "No Name";        }    }    /**     * Returns the description value for a registry object.     *     * @param ro        a RegistryObject     * @return                the String value     */    private String getDescription(RegistryObject ro) throws JAXRException {        try {            return ro.getDescription()                     .getValue();        } catch (NullPointerException npe) {            return "No Description";        }    }    /**     * Returns the key id value for a registry object.     *     * @param ro        a RegistryObject     * @return                the String value     */    private String getKey(RegistryObject ro) throws JAXRException {        try {            return ro.getKey()                     .getId();        } catch (NullPointerException npe) {            return "No Key";        }    }}//////////////////////////////////    File: JAXRExamples.properties////////////////////////////////## Registry Server:query.url=http://localhost:8080/RegistryServer/publish.url=http://localhost:8080/RegistryServer/registry.username=testuserregistry.password=testuser## HTTP and HTTPS proxy host and porthttp.proxyHost=http.proxyPort=8080https.proxyHost=https.proxyPort=8080## Values used by publish examplesorg.name=The Coffee Breakorg.description=Purveyor of the finest coffees. Established 1950person.name=Jane Doephone.number=(800) 555-1212email.address=jane.doe@TheCoffeeBreak.comclassification.scheme=ntis-gov:naics:1997classification.name=All Other Specialty Food Storesclassification.value=445299service.name=My Service Nameservice.description=My Service Descriptionsvcbinding.description=My Service Binding Descriptionsvcbinding.accessURI=http://TheCoffeeBreak.com:8080/sb/## Values used by postal address examplespostal.taxonomy.filenames=postalconcepts.xmlpostal.scheme.name=MyPostalAddressSchemepostal.scheme.description=A ClassificationScheme for My PostalAddressMappingspostal.classification.name=postalAddresspostal.classification.value=postalAddresspostal.scheme.link=http://unrealcompany.com/PostalScheme.htmlpostal.scheme.linkdesc=My PostalAddress Schemepostal.org.name=The Postal Coffee Breakpostal.person.name=Jane Postalpostal.email.address=jane.postal@ThePostalCoffeeBreak.compostal.streetNumber=99postal.street=Imaginary Ave. Suite 33postal.city=Imaginary Citypostal.state=NYpostal.country=USApostal.postalCode=00000postal.type=# Values used by JAXRPublishConcept exampleconcept.name=HelloConceptconcept.description=Concept for Hello Servicelink.uri=http://localhost:8080/hello-jaxws/hello?WSDLlink.description=Hello WSDL document# Values used by JAXRPublishHelloOrg examplewsdlorg.name=Hello Organizationwsdlorg.description=Organization with a Hello Servicewsdlorg.person.name=Dukewsdlorg.person.description=Owner of Hello Servicewsdlorg.phone=111-222-3333wsdlorg.email.address=duke@hello.comwsdlorg.svc.name=JAX-RPC Hello Servicewsdlorg.svc.description=Says Hellowsdlorg.svcbnd.description=Service binding for Hello Servicewsdlorg.svcbnd.uri=http://localhost:8080/hello-jaxws/hello        

Code testé avec le fichier XML Suivant

<?xml version="1.0" encoding="windows-1252"?>
<!-- Edited by MesEXemple.com -->
<note>
	<to>Sakoba</to>
	<from>Adams</from>
	<heading>Rappel</heading>
	<body>Ne m'oubliez pas ce week-end!</body>
</note>

Cet article Java XML Registry: Recherche d’un registre des informations sur les organisations dont les noms contiennent une chaîne de caractère fournie par l’utilisateur* est apparu en premier sur .