List of usage examples for javax.xml.registry RegistryService getBusinessQueryManager
BusinessQueryManager getBusinessQueryManager() throws JAXRException;
From source file:JAXRPublishHelloOrg.java
/** * Creates an organization, its classification, and its * services, and saves it to the registry. */*from w ww . j a va2 s. co m*/ * @param username the username for the registry * @param password the password for the registry */ public void executePublish(String uuidString, String username, String password) { RegistryService rs = null; BusinessLifeCycleManager blcm = null; BusinessQueryManager bqm = null; try { // Get registry service and managers rs = connection.getRegistryService(); bqm = rs.getBusinessQueryManager(); blcm = rs.getBusinessLifeCycleManager(); System.out.println("Got registry service, query " + "manager, and life cycle manager"); // Get authorization from the registry PasswordAuthentication passwdAuth = new PasswordAuthentication(username, password.toCharArray()); HashSet<PasswordAuthentication> creds = new HashSet<PasswordAuthentication>(); creds.add(passwdAuth); connection.setCredentials(creds); System.out.println("Established security credentials"); ResourceBundle bundle = ResourceBundle.getBundle("JAXRExamples"); // Create organization name and description InternationalString s = blcm.createInternationalString(bundle.getString("wsdlorg.name")); Organization org = blcm.createOrganization(s); s = blcm.createInternationalString(bundle.getString("wsdlorg.description")); org.setDescription(s); // Create primary contact, set name User primaryContact = blcm.createUser(); PersonName pName = blcm.createPersonName(bundle.getString("wsdlorg.person.name")); primaryContact.setPersonName(pName); s = blcm.createInternationalString(bundle.getString("wsdlorg.person.description")); primaryContact.setDescription(s); // Set primary contact phone number TelephoneNumber tNum = blcm.createTelephoneNumber(); tNum.setNumber(bundle.getString("wsdlorg.phone")); Collection<TelephoneNumber> phoneNums = new ArrayList<TelephoneNumber>(); phoneNums.add(tNum); primaryContact.setTelephoneNumbers(phoneNums); // Set primary contact email address EmailAddress emailAddress = blcm.createEmailAddress(bundle.getString("wsdlorg.email.address")); Collection<EmailAddress> emailAddresses = new ArrayList<EmailAddress>(); emailAddresses.add(emailAddress); primaryContact.setEmailAddresses(emailAddresses); // Set primary contact for organization org.setPrimaryContact(primaryContact); // Create services and service Collection<Service> services = new ArrayList<Service>(); s = blcm.createInternationalString(bundle.getString("wsdlorg.svc.name")); Service service = blcm.createService(s); s = blcm.createInternationalString(bundle.getString("wsdlorg.svc.description")); service.setDescription(s); // Create service bindings Collection<ServiceBinding> serviceBindings = new ArrayList<ServiceBinding>(); ServiceBinding binding = blcm.createServiceBinding(); s = blcm.createInternationalString(bundle.getString("wsdlorg.svcbnd.description")); binding.setDescription(s); binding.setAccessURI(bundle.getString("wsdlorg.svcbnd.uri")); /* * Find the uddi-org:types classification scheme defined * by the UDDI specification, using well-known key id. */ String uuid_types = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"; ClassificationScheme uddiOrgTypes = (ClassificationScheme) bqm.getRegistryObject(uuid_types, LifeCycleManager.CLASSIFICATION_SCHEME); /* * Create a classification, specifying the scheme * and the taxonomy name and value defined for WSDL * documents by the UDDI specification. */ Classification wsdlSpecClassification = blcm.createClassification(uddiOrgTypes, blcm.createInternationalString("wsdlSpec"), "wsdlSpec"); // Define classifications Collection<Classification> classifications = new ArrayList<Classification>(); classifications.add(wsdlSpecClassification); // Find the concept by its UUID Concept specConcept = (Concept) bqm.getRegistryObject(uuidString, LifeCycleManager.CONCEPT); // If we found the concept, we can save the organization if (specConcept != null) { String name = getName(specConcept); Collection links = specConcept.getExternalLinks(); System.out.println("\nSpecification Concept:\n\tName: " + name + "\n\tKey: " + getKey(specConcept)); if (links.size() > 0) { ExternalLink link = (ExternalLink) links.iterator().next(); System.out.println("\tURL of WSDL document: '" + link.getExternalURI() + "'"); } // Now set the specification link for the service binding SpecificationLink specLink = blcm.createSpecificationLink(); specLink.setSpecificationObject(specConcept); binding.addSpecificationLink(specLink); serviceBindings.add(binding); // Add service bindings to service service.addServiceBindings(serviceBindings); // Add service to services, then add services to organization services.add(service); org.addServices(services); // Add organization and submit to registry // Retrieve key if successful Collection<Organization> orgs = new ArrayList<Organization>(); orgs.add(org); BulkResponse response = blcm.saveOrganizations(orgs); Collection exceptions = response.getExceptions(); if (exceptions == null) { System.out.println("Organization saved"); Collection keys = response.getCollection(); for (Object k : keys) { Key orgKey = (Key) k; String id = orgKey.getId(); System.out.println("Organization key is " + id); } } else { for (Object e : exceptions) { Exception exception = (Exception) e; System.err.println("Exception on save: " + exception.toString()); } } } else { System.out.println("Specified concept not found, " + "organization not saved"); } } catch (Exception e) { e.printStackTrace(); } finally { // At end, close connection to registry if (connection != null) { try { connection.close(); } catch (JAXRException je) { } } } }
From source file:it.cnr.icar.eric.client.ui.swing.BusinessQueryPanel.java
/** * Execute the query using parameters defined by the fields in QueryPanel. *//*from ww w . j av a 2 s.c om*/ BulkResponse executeQuery() { BulkResponse resp = null; try { // create namePattern collection String nameStr = nameText.getText(); String descStr = descText.getText(); ArrayList<Object> classifications = ((ClassificationsListModel) (classificationsList.getModel())) .getModels(); ArrayList<?> extIds = ((ExternalIdentifiersListModel) (extIdsList.getModel())).getModels(); ArrayList<?> extLinks = ((ExternalLinksListModel) (linksList.getModel())).getModels(); JAXRClient client = RegistryBrowser.getInstance().getClient(); Connection connection = RegistryBrowser.client.getConnection(); RegistryService service = connection.getRegistryService(); @SuppressWarnings("unused") BusinessQueryManagerImpl bqm = (BusinessQueryManagerImpl) service.getBusinessQueryManager(); DeclarativeQueryManagerImpl dqm = (DeclarativeQueryManagerImpl) service.getDeclarativeQueryManager(); Object objectTypeObj = getObjectType(); if (!(objectTypeObj instanceof Concept)) { throw new JAXRException("Search not supported for objectType: " + objectTypeObj.toString()); } Concept objectType = (Concept) objectTypeObj; if (!(objectType.getPath() .startsWith("/" + BindingUtility.CANONICAL_CLASSIFICATION_SCHEME_ID_ObjectType))) { throw new JAXRException("Search not supported for objectType: " + objectType.getPath()); } boolean isIntrinsic = isIntrinsicObjectType(objectType); boolean caseSensitive = caseSensitiveCheckBox.isSelected(); // make declarative query String queryStr = "SELECT obj.* from "; if (isIntrinsic) { queryStr += (objectType.getValue() + " obj "); } else { //Following using RegistryObject as it could be an ExtrinsicObject //or an ExternalLink queryStr += "RegistryObject obj, ClassificationNode typeNode "; } //Add name to tables in join if ((nameStr != null) && (nameStr.length() != 0)) { queryStr += ", Name_ nm "; } //Add description to tables in join if ((descStr != null) && (descStr.length() != 0)) { queryStr += ", Description des "; } boolean addedPredicate = false; //Add objectType predicate if (!isIntrinsic) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += ("((obj.objectType = typeNode.id) AND " + "(typeNode.path LIKE '" + objectType.getPath() + "' OR typeNode.path LIKE '" + objectType.getPath() + "/%'))"); } //Add name predicate if needed if ((nameStr != null) && (nameStr.length() > 0)) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += ("((nm.parent = obj.id) AND (" + BusinessQueryManagerImpl.caseSensitise("nm.value", caseSensitive) + " LIKE " + BusinessQueryManagerImpl.caseSensitise("'" + nameStr + "'", caseSensitive) + ")) "); } //Add description predicate if needed if ((descStr != null) && (descStr.length() > 0)) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += ("((des.parent = obj.id) AND (" + BusinessQueryManagerImpl.caseSensitise("des.value", caseSensitive) + " LIKE " + BusinessQueryManagerImpl.caseSensitise("'" + descStr + "'", caseSensitive) + ")) "); } //Add nested query for Classifications if needed if (classifications.size() > 0) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += qu.getClassificationsPredicate(classifications, "obj.id", null); } //Add predicate for ExternalIdentifiers if needed if (extIds.size() > 0) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += qu.getExternalIdentifiersPredicate(extIds, "obj.id", null); } //Add nested query for ExternalLinks if needed if (extLinks.size() > 0) { if (!addedPredicate) { queryStr += "WHERE "; addedPredicate = true; } else { queryStr += "AND "; } queryStr += qu.getExternalLinksPredicate(extLinks, "obj.id", null); } QueryImpl query = (QueryImpl) dqm.createQuery(Query.QUERY_TYPE_SQL, queryStr); query.setFederated(isFederated()); // make JAXR request resp = dqm.executeQuery(query); client.checkBulkResponse(resp); } catch (JAXRException e) { RegistryBrowser.displayError(e); } return resp; }