diff --git a/udmis/.idea/runConfigurations/ClearBladeIotAccessProvider.xml b/udmis/.idea/runConfigurations/ClearBladeIotAccessProvider.xml
new file mode 100644
index 0000000000..7a89db79f3
--- /dev/null
+++ b/udmis/.idea/runConfigurations/ClearBladeIotAccessProvider.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/udmis/src/main/java/com/google/bos/udmi/service/access/ClearBladeIotAccessProvider.java b/udmis/src/main/java/com/google/bos/udmi/service/access/ClearBladeIotAccessProvider.java
index b8a14efa15..ddcc257d3c 100644
--- a/udmis/src/main/java/com/google/bos/udmi/service/access/ClearBladeIotAccessProvider.java
+++ b/udmis/src/main/java/com/google/bos/udmi/service/access/ClearBladeIotAccessProvider.java
@@ -67,7 +67,9 @@
import com.google.common.collect.BiMap;
import com.google.common.collect.ImmutableBiMap;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
+import com.google.udmi.util.JsonUtil;
import java.util.AbstractMap.SimpleEntry;
import java.util.Base64;
import java.util.Date;
@@ -95,7 +97,8 @@
public class ClearBladeIotAccessProvider extends IotAccessBase {
public static final String REGISTRIES_FIELD_MASK = "id,name";
- private static final Set CLOUD_REGIONS = ImmutableSet.of("us-central1");
+ public static final String DEFAULT_REGION = "us-central1";
+ private static final Set CLOUD_REGIONS = ImmutableSet.of(DEFAULT_REGION);
private static final String EMPTY_JSON = "{}";
private static final BiMap AUTH_TYPE_MAP = ImmutableBiMap.of(
Key_format.RS_256, PublicKeyFormat.RSA_PEM,
@@ -117,9 +120,31 @@ public class ClearBladeIotAccessProvider extends IotAccessBase {
private static final String UDMI_STATE_TOPIC = "udmi_state"; // TODO: Make this not hardcoded.
private static final String TOPIC_NAME_FORMAT = "projects/%s/topics/%s";
private static final CharSequence BOUND_TO_GATEWAY_MARKER = " it's associated ";
+ public static final String CONFIG_ENV = "CLEARBLADE_CONFIGURATION";
private final String projectId;
private final DeviceManagerInterface deviceManager;
+ /**
+ * Core test function for listing the devices in a registry.
+ */
+ public static void main(String[] args) {
+ requireNonNull(System.getenv(CONFIG_ENV), CONFIG_ENV + " not defined");
+ IotAccess iotAccess = new IotAccess();
+ if (args.length != 1) {
+ System.err.println("Usage: registry_id");
+ return;
+ }
+ final String registryId = args[0];
+ Map stringObjectMap = JsonUtil.loadMap(System.getenv(CONFIG_ENV));
+ iotAccess.project_id = (String) requireNonNull(stringObjectMap.get("project"));
+ System.err.println("Extracted project from ClearBlade config file: " + iotAccess.project_id);
+ ClearBladeIotAccessProvider clearBladeIotAccessProvider =
+ new ClearBladeIotAccessProvider(iotAccess);
+ clearBladeIotAccessProvider.populateRegistryRegions();
+ CloudModel cloudModel = clearBladeIotAccessProvider.listDevices(registryId);
+ System.err.printf("Found %d results%n", cloudModel.device_ids.size());
+ }
+
/**
* Create a new instance for interfacing with GCP IoT Core.
*/