}
// Acquire bean info (we need getters details, specifically)
final JavaType javaType = SolrWebSearchMetadata
.getJavaType(metadataIdentificationString);
final LogicalPath path = SolrWebSearchMetadata
.getPath(metadataIdentificationString);
final String webScaffoldMetadataKey = WebScaffoldMetadata
.createIdentifier(javaType, path);
// We want to be notified if the getter info changes in any way
metadataDependencyRegistry.registerDependency(webScaffoldMetadataKey,
metadataIdentificationString);
final WebScaffoldMetadata webScaffoldMetadata = (WebScaffoldMetadata) metadataService
.get(webScaffoldMetadataKey);
// Abort if we don't have getter information available
if (webScaffoldMetadata == null || !webScaffoldMetadata.isValid()) {
return null;
}
final JavaType targetObject = webScaffoldMetadata.getAnnotationValues()
.getFormBackingObject();
Validate.notNull(
targetObject,
"Could not acquire form backing object for the '%s' controller",
WebScaffoldMetadata.getJavaType(webScaffoldMetadata.getId())
.getFullyQualifiedTypeName());
final String targetObjectMid = typeLocationService
.getPhysicalTypeIdentifier(targetObject);
final LogicalPath targetObjectPath = PhysicalTypeIdentifier
.getPath(targetObjectMid);
final SolrMetadata solrMetadata = (SolrMetadata) metadataService
.get(SolrMetadata.createIdentifier(targetObject,
targetObjectPath));