@Override public Single visitMetricType(Void parameter) { Tenants.Single ten = tenants().get(ids.getTenantId()); return accessInterface.cast(ids.getFeedId() == null ? ten.metricTypes().get(ids.getMetricTypeId()) : ten.feeds().get(ids.getFeedId()).metricTypes() .get(ids.getMetricTypeId())); }
@Override public Single visitResourceType(Void parameter) { Tenants.Single ten = tenants().get(ids.getTenantId()); return accessInterface.cast(ids.getFeedId() == null ? ten.resourceTypes().get(ids.getResourceTypeId()) : ten.feeds().get(ids.getFeedId()).resourceTypes() .get(ids.getResourceTypeId())); }
@Override public Single visitResource(Void parameter) { Tenants.Single tenant = tenants().get(ids.getTenantId()); Resources.Single access; if (ids.getFeedId() == null) { access = tenant.environments().get(ids.getEnvironmentId()).resources() .descendContained(ids.getResourcePath()); } else { access = tenant.feeds().get(ids.getFeedId()).resources().descendContained(ids.getResourcePath()); } return accessInterface.cast(access); }
@Override public Single visitMetric(Void parameter) { Tenants.Single tenant = tenants().get(ids.getTenantId()); RelativePath resourcePath = ids.getResourcePath(); String feedId = ids.getFeedId(); String environmentId = ids.getEnvironmentId(); String metricId = ids.getMetricId(); ResolvableToSingle<?, ?> iface; if (resourcePath == null) { if (feedId == null) { iface = tenant.environments().get(environmentId).metrics().get(metricId); } else { iface = tenant.feeds().get(feedId).metrics().get(metricId); } } else { if (feedId == null) { iface = tenant.environments().get(environmentId).resources() .descendContained(ids.getResourcePath()).metrics().get(metricId); } else { iface = tenant.feeds().get(feedId).resources().descendContained(ids.getResourcePath()) .metrics().get(metricId); } } return accessInterface.cast(iface); }
@Override public String generate(Inventory inventory, Feed proposedFeed) throws EntityAlreadyExistsException { try { if (!Feed.Blueprint.shouldAutogenerateId(proposedFeed)) { inventory.inspect(proposedFeed).entity(); } if (fallback == null || !Feed.Blueprint.shouldAutogenerateId(proposedFeed)) { throw new FeedAlreadyRegisteredException(proposedFeed); } else { return fallback.generate(inventory, proposedFeed); } } catch (EntityNotFoundException e) { // the happy path return proposedFeed.getId(); } } }