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); } } }