Skip to content

Commit

Permalink
HSEARCH-2451 Added the "source" field to FacetMetadata
Browse files Browse the repository at this point in the history
Preliminary work for HSEARCH-2451.
  • Loading branch information
yrodiere authored and gsmet committed Nov 23, 2016
1 parent 34e093d commit 862bace
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
Expand Up @@ -1327,7 +1327,9 @@ private void bindFieldAnnotation(
relativeFacetFieldName = relativeFieldName; // if not explicitly set the facet name is the same as the field name
}
DocumentFieldPath facetFieldPath = new DocumentFieldPath( prefix, relativeFacetFieldName );
FacetMetadata.Builder facetMetadataBuilder = new FacetMetadata.Builder( facetFieldPath );
FacetMetadata.Builder facetMetadataBuilder = new FacetMetadata.Builder(
fieldMetadataBuilder.getResultReference(), facetFieldPath
);
FacetEncodingType facetEncodingType = determineFacetEncodingType( member, facetAnnotation );
facetMetadataBuilder.setFacetEncoding( facetEncodingType );
fieldMetadataBuilder.addFacetMetadata( facetMetadataBuilder.build() );
Expand Down
Expand Up @@ -15,15 +15,25 @@
*/
public class FacetMetadata {

private final BackReference<DocumentFieldMetadata> sourceField;

private final DocumentFieldPath path;

private final FacetEncodingType encoding;

private FacetMetadata(Builder builder) {
this.sourceField = builder.sourceField;
this.path = builder.path;
this.encoding = builder.encoding;
}

/**
* @return The {@link DocumentFieldMetadata} to which the facet applies.
*/
public DocumentFieldMetadata getSourceField() {
return sourceField.get();
}

/**
* @return The full name of the facet field, including any indexed-embedded prefix. Equivalent to {@code #getPath().getAbsoluteName()}.
*/
Expand All @@ -44,12 +54,15 @@ public FacetEncodingType getEncoding() {

public static class Builder {
// required parameters
private final BackReference<DocumentFieldMetadata> sourceField;
private final DocumentFieldPath path;

// optional parameters
private FacetEncodingType encoding = FacetEncodingType.AUTO;

public Builder(DocumentFieldPath path) {
public Builder(BackReference<DocumentFieldMetadata> sourceField,
DocumentFieldPath path) {
this.sourceField = sourceField;
this.path = path;
}

Expand All @@ -65,6 +78,7 @@ public FacetMetadata build() {
@Override
public String toString() {
return "FacetMetadata{" +
"sourceField='" + sourceField + '\'' +
"path='" + path + '\'' +
", encoding=" + encoding +
'}';
Expand Down

0 comments on commit 862bace

Please sign in to comment.