/** * Test isExtramural method using two different connections with two different users. Note that * this users 2 different pre-defined users from the server keystore in two different Connections. */ public void testIsExtramural1() throws Exception { Connection nikolaConnection = getConnection(AuthenticationServiceImpl.ALIAS_NIKOLA); DeclarativeQueryManagerImpl nikolaDQM = (DeclarativeQueryManagerImpl) nikolaConnection.getRegistryService().getDeclarativeQueryManager(); BusinessQueryManager nikolaBQM = nikolaConnection.getRegistryService().getBusinessQueryManager(); BusinessLifeCycleManager nikolaLCM = nikolaConnection.getRegistryService().getBusinessLifeCycleManager(); Connection farrukhConnection = getConnection(AuthenticationServiceImpl.ALIAS_FARRUKH); DeclarativeQueryManagerImpl farrukhDQM = (DeclarativeQueryManagerImpl) farrukhConnection.getRegistryService().getDeclarativeQueryManager(); BusinessQueryManager farrukhBQM = farrukhConnection.getRegistryService().getBusinessQueryManager(); BusinessLifeCycleManager farrukhLCM = farrukhConnection.getRegistryService().getBusinessLifeCycleManager(); RegistryObject nikolaUser = nikolaDQM.getCallersUser(); RegistryObject farrukhUser = farrukhDQM.getCallersUser(); Concept assocType = (Concept) farrukhDQM.getRegistryObject( BindingUtility.CANONICAL_ASSOCIATION_TYPE_ID_RelatedTo, LifeCycleManager.CONCEPT); // Create an extramural assoc Association extramuralAss = farrukhLCM.createAssociation(nikolaUser, assocType); farrukhUser.addAssociation(extramuralAss); assertTrue( "isExtraMural return false for extramural Association", (extramuralAss.isExtramural())); }
/** * 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) { Context context = null; ConnectionFactory factory = null; /* * Define connection configuration properties. * To publish, you need both the query URL and the * publish URL. */ Properties props = new Properties(); props.setProperty("javax.xml.registry.queryManagerURL", queryUrl); props.setProperty("javax.xml.registry.lifeCycleManagerURL", publishUrl); try { // Create the connection, passing it the // configuration properties context = new InitialContext(); factory = (ConnectionFactory) context.lookup("java:comp/env/eis/JAXR"); 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) { } } } }
public CertificateAuthorityServiceBridge() { // ////////////////////////////////////////////////////// // Connection to UDDI Registry // ////////////////////////////////////////////////////// try { ConnectionFactory connFactory = org.apache.ws.scout.registry.ConnectionFactoryImpl.newInstance(); // Properties Properties props = new Properties(); props.setProperty("scout.juddi.client.config.file", "uddi.xml"); props.setProperty( "javax.xml.registry.queryManagerURL", "http://localhost:8081/juddiv3/services/inquiry"); props.setProperty( "javax.xml.registry.lifeCycleManagerURL", "http://localhost:8081/juddiv3/services/publish"); props.setProperty( "javax.xml.registry.securityManagerURL", "http://localhost:8081/juddiv3/services/security"); props.setProperty("scout.proxy.uddiVersion", "3.0"); props.setProperty( "scout.proxy.transportClass", "org.apache.juddi.v3.client.transport.JAXWSTransport"); connFactory.setProperties(props); Connection connection = connFactory.createConnection(); // Authentication PasswordAuthentication passwdAuth = new PasswordAuthentication("username", "password".toCharArray()); Set<PasswordAuthentication> creds = new HashSet<PasswordAuthentication>(); creds.add(passwdAuth); connection.setCredentials(creds); // Get Query Manager registryService = connection.getRegistryService(); businessQueryManager = registryService.getBusinessQueryManager(); businessLifeCycleManager = registryService.getBusinessLifeCycleManager(); } catch (Exception e) { System.err.println("[jUDDI-ERROR] Error while connecting to jUDDI: " + e.getMessage()); e.printStackTrace(); } }
/** * Creates an organization, its classification, and its services, and saves it to the registry. */ public String executePublish(String username, String password, String endpoint) { String id = null; RegistryService rs = null; BusinessLifeCycleManager blcm = null; BusinessQueryManager bqm = null; try { rs = connection.getRegistryService(); blcm = rs.getBusinessLifeCycleManager(); bqm = rs.getBusinessQueryManager(); System.out.println("Got registry service, query " + "manager, and life cycle manager"); // Get authorization from the registry PasswordAuthentication passwdAuth = new PasswordAuthentication(username, password.toCharArray()); Set creds = new HashSet(); creds.add(passwdAuth); connection.setCredentials(creds); System.out.println("Established security credentials"); // Get hardcoded strings from a ResourceBundle ResourceBundle bundle = ResourceBundle.getBundle("com.sun.cb.CoffeeRegistry"); // Create organization name and description Organization org = blcm.createOrganization(bundle.getString("org.name")); InternationalString s = blcm.createInternationalString(bundle.getString("org.description")); org.setDescription(s); // Create primary contact, set name User primaryContact = blcm.createUser(); PersonName pName = blcm.createPersonName(bundle.getString("person.name")); primaryContact.setPersonName(pName); // Set primary contact phone number TelephoneNumber tNum = blcm.createTelephoneNumber(); tNum.setNumber(bundle.getString("phone.number")); Collection phoneNums = new ArrayList(); phoneNums.add(tNum); primaryContact.setTelephoneNumbers(phoneNums); // Set primary contact email address EmailAddress emailAddress = blcm.createEmailAddress(bundle.getString("email.address")); Collection emailAddresses = new ArrayList(); emailAddresses.add(emailAddress); primaryContact.setEmailAddresses(emailAddresses); // Set primary contact for organization org.setPrimaryContact(primaryContact); // Set classification scheme to NAICS ClassificationScheme cScheme = bqm.findClassificationSchemeByName(null, bundle.getString("classification.scheme")); // Create and add classification Classification classification = (Classification) blcm.createClassification( cScheme, bundle.getString("classification.name"), bundle.getString("classification.value")); Collection classifications = new ArrayList(); classifications.add(classification); org.addClassifications(classifications); // Create services and service Collection services = new ArrayList(); Service service = blcm.createService(bundle.getString("service.name")); InternationalString is = blcm.createInternationalString(bundle.getString("service.description")); service.setDescription(is); // Create service bindings Collection serviceBindings = new ArrayList(); ServiceBinding binding = blcm.createServiceBinding(); is = blcm.createInternationalString(bundle.getString("service.binding")); binding.setDescription(is); binding.setValidateURI(false); binding.setAccessURI(endpoint); 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 orgs = new ArrayList(); orgs.add(org); BulkResponse response = blcm.saveOrganizations(orgs); Collection exceptions = response.getExceptions(); if (exceptions == null) { System.out.println("Organization saved"); Collection keys = response.getCollection(); Iterator keyIter = keys.iterator(); if (keyIter.hasNext()) { javax.xml.registry.infomodel.Key orgKey = (javax.xml.registry.infomodel.Key) keyIter.next(); id = orgKey.getId(); System.out.println("Organization key is " + id); } } else { Iterator excIter = exceptions.iterator(); Exception exception = null; while (excIter.hasNext()) { exception = (Exception) excIter.next(); System.err.println("Exception on save: " + exception.toString()); } } } catch (Exception e) { e.printStackTrace(); if (connection != null) { try { connection.close(); } catch (JAXRException je) { System.err.println("Connection close failed"); } } } return id; }
public void testSaveUnownedAssociations() throws Exception { String folderId = null; String farrukhExtrinsicObjectId = null; String farrukhAssociationId = null; String nikolaExtrinsicObjectId = null; String nikolaAssociationId = null; String keystorePath = RegistryProperties.getInstance().getProperty("omar.security.keystoreFile"); String storepass = RegistryProperties.getInstance().getProperty("omar.security.keystorePassword"); ConnectionFactory connFactory = JAXRUtility.getConnectionFactory(); Properties props = new Properties(); props.put("javax.xml.registry.queryManagerURL", regSoapUrl); connFactory.setProperties(props); try { // create connection for Farrukh Connection farrukhConnection = connFactory.createConnection(); String farrukhAlias = "urn:freebxml:registry:predefinedusers:registryoperator"; Set farrukhCredentials = getCredentialsFromKeystore(keystorePath, storepass, farrukhAlias, farrukhAlias); farrukhConnection.setCredentials(farrukhCredentials); BusinessQueryManagerImpl farrukhBQM = (BusinessQueryManagerImpl) farrukhConnection.getRegistryService().getBusinessQueryManager(); LifeCycleManager farrukhLCM = farrukhConnection.getRegistryService().getBusinessLifeCycleManager(); // Create the folder as Farrukh RegistryPackage folder = farrukhLCM.createRegistryPackage("Farrukh's Folder"); folderId = folder.getKey().getId(); System.out.println("Created folder with id '" + folderId + "'"); // using farrukh's connection, saveObjects() with extrinsic object and hasMember association File file = createTempFile(true); FileDataSource fds = new FileDataSource(file); DataHandler dataHandler = new DataHandler(fds); ExtrinsicObject farrukhExtrinsicObject = (ExtrinsicObject) farrukhLCM.createExtrinsicObject(dataHandler); String eoId = Utility.getInstance().createId(); farrukhExtrinsicObject.getKey().setId(eoId); farrukhExtrinsicObject.setName( farrukhLCM.createInternationalString("Farrukh's Extrinsic Object")); Concept associationConcept = farrukhBQM.findConceptByPath( "/" + BindingUtility.CANONICAL_CLASSIFICATION_SCHEME_LID_AssociationType + "/" + BindingUtility.CANONICAL_ASSOCIATION_TYPE_CODE_HasMember); Association farrukhAssociation = farrukhLCM.createAssociation(farrukhExtrinsicObject, associationConcept); farrukhAssociation.setSourceObject(folder); ArrayList objectsToSave = new ArrayList(); objectsToSave.add(folder); objectsToSave.add(farrukhAssociation); objectsToSave.add(farrukhExtrinsicObject); System.out.println( "Saving farrukh's extrinsic object '" + farrukhExtrinsicObject.getKey().getId() + "' under folder '" + folderId + "' with hasMember association '" + farrukhAssociation.getKey().getId() + "'"); BulkResponse br = farrukhLCM.saveObjects(objectsToSave); JAXRUtility.checkBulkResponse(br); farrukhExtrinsicObjectId = farrukhExtrinsicObject.getKey().getId(); farrukhAssociationId = farrukhAssociation.getKey().getId(); System.out.println( "Objects '" + farrukhExtrinsicObject.getKey().getId() + "' and '" + farrukhAssociation.getKey().getId() + "' saved successfully"); // create connection for Nikola Connection nikolaConnection = connFactory.createConnection(); String nikolaAlias = "urn:freebxml:registry:predefinedusers:nikola"; Set nikolaCredentials = getCredentialsFromKeystore(keystorePath, storepass, nikolaAlias, nikolaAlias); nikolaConnection.setCredentials(nikolaCredentials); BusinessQueryManagerImpl nikolaBQM = (BusinessQueryManagerImpl) nikolaConnection.getRegistryService().getBusinessQueryManager(); LifeCycleManager nikolaLCM = nikolaConnection.getRegistryService().getBusinessLifeCycleManager(); // Get the folder /*RegistryPackage*/ folder = (RegistryPackage) nikolaBQM.getRegistryObject(folderId); Assert.assertNotNull("Could not find root folder", folder); // using nikola's connection, saveObjects() with extrinsic object and hasMember association file = createTempFile(true); fds = new FileDataSource(file); dataHandler = new DataHandler(fds); ExtrinsicObject nikolaExtrinsicObject = (ExtrinsicObject) nikolaLCM.createExtrinsicObject(dataHandler); eoId = Utility.getInstance().createId(); nikolaExtrinsicObject.getKey().setId(eoId); nikolaExtrinsicObject.setName( nikolaLCM.createInternationalString("Nikola's Extrinsic Object")); associationConcept = nikolaBQM.findConceptByPath( "/" + BindingUtility.CANONICAL_CLASSIFICATION_SCHEME_LID_AssociationType + "/" + BindingUtility.CANONICAL_ASSOCIATION_TYPE_CODE_HasMember); Association nikolaAssociation = nikolaLCM.createAssociation(nikolaExtrinsicObject, associationConcept); nikolaAssociation.setSourceObject(folder); objectsToSave = new ArrayList(); objectsToSave.add(folder); objectsToSave.add(nikolaAssociation); System.out.println( "Saving nikola's extrinsic object '" + nikolaExtrinsicObject.getKey().getId() + "' under folder '" + folderId + "' with hasMember association '" + nikolaAssociation.getKey().getId() + "'"); objectsToSave.add(nikolaExtrinsicObject); br = nikolaLCM.saveObjects(objectsToSave); JAXRUtility.checkBulkResponse(br); nikolaExtrinsicObjectId = nikolaExtrinsicObject.getKey().getId(); nikolaAssociationId = nikolaAssociation.getKey().getId(); System.out.println( "Objects '" + nikolaExtrinsicObject.getKey().getId() + "' and '" + nikolaAssociation.getKey().getId() + "' saved successfully"); } finally { // remove extrinsic objects and associations as registry operator try { Connection roConnection = connFactory.createConnection(); String roAlias = "urn:freebxml:registry:predefinedusers:registryoperator"; Set roCredentials = getCredentialsFromKeystore(keystorePath, storepass, roAlias, roAlias); roConnection.setCredentials(roCredentials); LifeCycleManagerImpl roLCM = (LifeCycleManagerImpl) roConnection.getRegistryService().getBusinessLifeCycleManager(); if (folderId != null) { System.out.println("Deleting '" + folderId + "'"); HashSet keys = new HashSet(); keys.add(roLCM.createKey(folderId)); roLCM.deleteObjects(keys, null, forceRemoveRequestSlotsMap, null); System.out.println("Successfully deleted '" + folderId + "'"); } if (farrukhExtrinsicObjectId != null) { System.out.println("Deleting '" + farrukhExtrinsicObjectId + "'"); HashSet keys = new HashSet(); keys.add(roLCM.createKey(farrukhExtrinsicObjectId)); roLCM.deleteObjects(keys, null, forceRemoveRequestSlotsMap, null); System.out.println("Successfully deleted '" + farrukhExtrinsicObjectId + "'"); } if (farrukhAssociationId != null) { System.out.println("Deleting '" + farrukhAssociationId + "'"); HashSet keys = new HashSet(); keys.add(roLCM.createKey(farrukhAssociationId)); roLCM.deleteObjects(keys, null, forceRemoveRequestSlotsMap, null); System.out.println("Successfully deleted '" + farrukhAssociationId + "'"); } if (nikolaExtrinsicObjectId != null) { System.out.println("Deleting '" + nikolaExtrinsicObjectId + "'"); HashSet keys = new HashSet(); keys.add(roLCM.createKey(nikolaExtrinsicObjectId)); roLCM.deleteObjects(keys, null, forceRemoveRequestSlotsMap, null); System.out.println("Successfully deleted '" + nikolaExtrinsicObjectId + "'"); } if (nikolaAssociationId != null) { System.out.println("Deleting '" + nikolaAssociationId + "'"); HashSet keys = new HashSet(); keys.add(roLCM.createKey(nikolaAssociationId)); roLCM.deleteObjects(keys, null, forceRemoveRequestSlotsMap, null); System.out.println("Successfully deleted '" + nikolaAssociationId + "'"); } } catch (Throwable t) { System.err.println( "Failed to remove some or all of the test objects. Exception: " + t.getMessage()); t.printStackTrace(); } } }