public boolean checkAuthentication() {

    return (client.getSFACredential() != null) && (!client.getSFACredential().equals(""));
  }
  public void TranformModel() {
    InitModel();

    String rspec = client.ListResources();

    System.out.println(rspec);
    System.out.println("=======================================================================");
    if (rspec.equals("")) return;

    Document resourceSpecDocument = xmlutl.getXMLDocFromString(rspec);

    // NodeList aggregates = xmlutl.getNodeListFromObject(resourceSpecDocument, "//aggregate");

    NodeList networks = xmlutl.getNodeListFromObject(resourceSpecDocument, "//network");

    if (networks == null) return;

    for (int ixOrgan = 0; ixOrgan < networks.getLength(); ixOrgan++) {
      Node network = networks.item(ixOrgan);
      // String organName = xmlutl.getNodeValueFromObject( item, "name/text()" );
      // String organID = xmlutl.getNodeValueFromObject( organisationSpecNodes.item(ixOrgan), "@id"
      // );
      String organName = xmlutl.getNodeValueFromObject(network, "@name");
      String organID = organName; // will be the same
      System.out.println(organName);

      ResourcesProvider resourcesProvider;
      Site partnerSite;
      // create the partner
      resourcesProvider = UsersFactory.eINSTANCE.createResourcesProvider();
      broker.getRegisteredUsers().add(resourcesProvider);
      log("officePartner organID: " + organID);
      resourcesProvider.setId(ixOrgan);
      resourcesProvider.setUniqueID("rp" + organID);
      organName = organName.trim();
      log("resourcesProvider organName: " + organName);
      resourcesProvider.setName(
          organName); // we set the name also later in the ptm Name, to have something shorter!
      resourcesProvider.setDescription(organName);
      resourcesProvider.setOrganization(organName);
      partnerSite = ProvidersiteFactory.eINSTANCE.createSite();
      partnerSite.setId(0);
      partnerSite.setUniqueID(resourcesProvider.getUniqueID() + "_s" + organID);
      partnerSite.setName("site");
      resourcesProvider.getOfferedSiteList().add(partnerSite);
      partnerSite.setBelongsToProvider(resourcesProvider);

      // Add now the PTM for the site
      DomainManager ptm = ProvidersiteFactory.eINSTANCE.createDomainManager();
      partnerSite.setDomainManager(ptm);

      ptm.setBelongsToSite(partnerSite);
      NodeList resourceSpecNodes =
          xmlutl.getNodeListFromObject(
              resourceSpecDocument, "//network[@name=\"" + organName + "\"]/node");

      // String organName = xmlutl.getNodeValueFromObject( item, "name/text()" );
      // String organID = xmlutl.getNodeValueFromObject( organisationSpecNodes.item(ixOrgan), "@id"
      // );
      for (int ixNode = 0; ixNode < resourceSpecNodes.getLength(); ixNode++) {

        Node resNode = resourceSpecNodes.item(ixNode);
        // SFA mainly offers nodes?!
        CreateOfferedService_Resource_Contract(
            "node",
            partnerSite,
            resNode,
            true); // we can toggle this false if we will create OfferedResources only from ptmInfo
      }
    }

    // slices should be also added as resources/offered services.
    // And each node will have a setting called sliver that the user can
    // assign the slice name..
    // Slices can be added to a different taxonomy

  }
 public SFAModel2BrokerModel(AuthorizationKey authorizationKey) {
   this.authorizationKey = authorizationKey;
   client = new SFA_XMLRPCClient();
   client.Init_SFA_XMLRPCClient(authorizationKey);
   xmlutl = new XMLutils(displayLog);
 }