コード例 #1
0
ファイル: CFExporter.java プロジェクト: chuanran/cloudmig
  private void genServiceNode(
      AppModel model, CloudFoundryClient cfClient, List<CloudApplication> apps) {

    for (CloudApplication app : apps) {
      List<String> services = app.getServices();
      for (String service : services) {
        // return from cloud foundry client getService() does not include label info
        // workaround it with method getCloudService
        CloudService cloudService = getCloudService(cfClient, service);
        String label = cloudService.getLabel();
        // FIXME: to support more services
        if (!label.contains("mongodb")) {
          System.out.println("unsupported service " + label + " for app " + app.getName());
          continue;
        }
        ServiceNode serviceNode = new ServiceNode(model);
        serviceNode.setName(cloudService.getName());
        serviceNode.setServiceType(ServiceType.mongo);
        serviceNode.setProperty("dbName", "mydb");
        model.addNode(serviceNode);

        Relationship relation = new Relationship();
        relation.setSourceNode(app.getName());
        relation.setTargetNode(cloudService.getName());
        relation.setType(RelationshipType.connectTo);
        model.addRelationship(relation);
      }
    }
  }