/**
   * 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();
    }
  }
Пример #3
0
  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();
      }
    }
  }