diff --git a/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java b/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java index 90a63199e3..cbd0ff8548 100644 --- a/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java +++ b/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java @@ -14,6 +14,7 @@ package com.google.api.generator.gapic.model; +import com.google.api.generator.gapic.utils.ResourceNameConstants; import com.google.auto.value.AutoValue; @AutoValue @@ -23,6 +24,10 @@ public abstract class ResourceReference { public abstract boolean isChildType(); + public boolean isOnlyWildcard() { + return resourceTypeString().equals(ResourceNameConstants.WILDCARD_PATTERN); + } + public static ResourceReference withType(String resourceTypeString) { return builder().setResourceTypeString(resourceTypeString).setIsChildType(false).build(); } diff --git a/src/main/java/com/google/api/generator/gapic/protoparser/ResourceReferenceParser.java b/src/main/java/com/google/api/generator/gapic/protoparser/ResourceReferenceParser.java index 7970598d34..7d198fbb99 100644 --- a/src/main/java/com/google/api/generator/gapic/protoparser/ResourceReferenceParser.java +++ b/src/main/java/com/google/api/generator/gapic/protoparser/ResourceReferenceParser.java @@ -43,7 +43,14 @@ public static List parseResourceNames( @Nullable String description, Map resourceNames, Map patternsToResourceNames) { - ResourceName resourceName = resourceNames.get(resourceReference.resourceTypeString()); + ResourceName resourceName = null; + if (resourceReference.isOnlyWildcard()) { + resourceName = ResourceName.createWildcard("*", "com.google.api.wildcard.placeholder"); + resourceNames.put(resourceName.resourceTypeString(), resourceName); + } else { + resourceName = resourceNames.get(resourceReference.resourceTypeString()); + } + resourceName = resourceNames.get(resourceReference.resourceTypeString()); Preconditions.checkNotNull( resourceName, String.format(