@Override public ClusterOperationRequest deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObj = json.getAsJsonObject(); Map<String, Object> providerFields = context.deserialize(jsonObj.get("providerFields"), new TypeToken<Map<String, Object>>() { }.getType()); return new ClusterOperationRequest(providerFields); } }
private void expireClusters(long currentTime) { try { LOG.debug("Expiring clusters older than {}", currentTime); Set<Cluster> clusters = clusterStore.getExpiringClusters(currentTime); if (clusters.isEmpty()) { LOG.debug("Got 0 clusters to be expired for time {}", currentTime); return; } LOG.debug("Got {} possible clusters to expire for time {}", clusters.size(), currentTime); for (Cluster cluster : clusters) { // mod check done here instead of db to avoid full table scan. if (Long.valueOf(cluster.getId()) % incrementBy == myMod) { LOG.debug("Deleting cluster {} with expire time {}", cluster.getId(), cluster.getExpireTime()); clusterService.requestClusterDelete(cluster.getId(), cluster.getAccount(), new ClusterOperationRequest(null)); } } } catch (Throwable e) { LOG.error("Got exception: ", e); } } }
@Test public void testSensitiveUserFields() throws Exception { Map<String, Object> sensitiveFields = Maps.newHashMap(); sensitiveFields.put("key", "keycontents"); AddServicesRequest addRequest = new AddServicesRequest(sensitiveFields, ImmutableSet.of(service2.getName())); ClusterOperationRequest opRequest = new ClusterOperationRequest(sensitiveFields); Cluster cluster = createActiveCluster(); clusterService.requestAddServices(cluster.getId(), account, addRequest); testSensitiveFieldsAdded(cluster, sensitiveFields); clusterStore.deleteCluster(cluster.getId()); cluster = createActiveCluster(); clusterService.requestClusterDelete(cluster.getId(), account, opRequest); testSensitiveFieldsAdded(cluster, sensitiveFields); clusterStore.deleteCluster(cluster.getId()); cluster = createActiveCluster(); clusterService.requestServiceRuntimeAction(cluster.getId(), account, ClusterAction.RESTART_SERVICES, service1.getName(), opRequest); testSensitiveFieldsAdded(cluster, sensitiveFields); clusterStore.deleteCluster(cluster.getId()); }